Tag: variadic-macros

Variadic Makros sind eine Funktion der C-Präprozessor, die es erlauben, eine variable Anzahl von Argumenten zu einem makro. Sie Hinzugefügt wurden 1999 in der überarbeitung der C-standard.

Hinzufügen von default-Argumente Variable makro

Anzahl der Antworten 3 Antworten
Ist es möglich, default-Argumente, bevor die variable argument in variadischen makro? e.g ich habe die version von makro-so etwas wie #define MACRO(arg1, ...) func(arg1, ##__VA_ARGS__) Möchte ich hinzufügen, 2 weitere Standard-Argumente in der makro vor der variable

Erzeugende Funktion Erklärung mit Hilfe eines makro-iteration

Anzahl der Antworten 2 Antworten
Ich versuche zu generieren, die Funktionsdeklaration mit einem makro /* goal: generate int f(int a, float b) */ template<typename P> struct ptype; template<typename P> struct ptype<void(P)> { typedef P type; }; #define NAMEe #define COMMAe #define COMMA

MSVC++ variadischen makro-expansion

Anzahl der Antworten 2 Antworten
Also ich hab ein makro, das funktioniert gut in GCC, aber nicht in Microsoft C++ Compiler. Ich hoffe jemand weiß vielleicht eine Abhilfe, oder vielleicht können Sie mir erklären, warum es auf diese Weise verhält. Ich bin

Können Makros überlastet werden durch die Anzahl der Argumente?

Anzahl der Antworten 5 Antworten
Wie funktioniert diese Arbeit? Wie kann ein C99/C++11 variadic Makros realisiert werden zu erweitern, um verschiedene Dinge, die allein auf der Grundlage, wie viele Argumente gegeben werden? Nicht beantworten wie es funktioniert, aber wenn es jemand braucht

Eine bessere LOG () - makro mit template metaprogramming

Anzahl der Antworten 2 Antworten
Einer typischen LOG () - makro-basierte logging-Lösung kann wie folgt Aussehen: #define LOG(msg) \ std::cout << __FILE__ << "(" << __LINE__ << "): " << msg << std::endl Dies ermöglicht es Programmierern, Daten reichen die Nachrichten über

Variadic macro trick

Anzahl der Antworten 3 Antworten
Was ist der trick zum erstellen einer variadischen makro FOO(a1, a2, a3,..., an) so dass es erweitert, um FOOn(a1, a2, a3,..., an) für Werte von n in was auch immer vorausgewählt eingegrenzten Bereich, den Sie wählen? Das

gibt es eine Möglichkeit zum schreiben von Makros mit variabler argument-Liste in visual C++?

Anzahl der Antworten 9 Antworten
Soweit ich weiß, in gcc kannst du etwas schreiben wie: #define DBGPRINT(fmt...) printf(fmt); Gibt es eine Möglichkeit, das zu tun, VC++? InformationsquelleAutor der Frage Domo | 2008-09-15

Variadic Makros mit null Argumenten

Anzahl der Antworten 6 Antworten
Arbeite ich an einem call makro, #define CALL(f,...) FN(f)->call((ref(new LinkedList()), __VA_ARGS__)) die, wenn Sie aufgerufen, CALL(print,2,3,4,5); fügt 2 3 4 5 zu der verlinkten Liste (ist überlastet) und Aufrufe drucken, die erwartet, dass eine verknüpfte Liste, die

MSVC erweitert __VA_ARGS__ nicht korrekt

Anzahl der Antworten 3 Antworten
Betrachten Sie diesen code: #define F(x, ...) X = x and VA_ARGS = __VA_ARGS__ #define G(...) F(__VA_ARGS__) F(1, 2, 3) G(1, 2, 3) Die erwartete Ausgabe ist X = 1 and VA_ARGS = 2, 3 für beide

Standard-Alternative zu GCC ## __ VA_ARGS__ Trick?

Anzahl der Antworten 7 Antworten
Es ist ein bekannt problem mit leeren Argumente für variadic Makros in C99. Beispiel: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); Den Einsatz von BAR() oben ist in der Tat falsch,

C ++ - Präprozessor __VA_ARGS__ Anzahl der Argumente

Anzahl der Antworten 9 Antworten
Einfache Frage, für die ich nicht finden konnten, eine Antwort auf die net. In variadic-argument-Makros, wie man die Anzahl der Argumente? Ich bin okay mit boost-Präprozessor, wenn es die Lösung. Ob es einen Unterschied macht, ich bin

Sind Variadic-Makros nicht standardisiert?

Anzahl der Antworten 4 Antworten
Für debugbuilds, die ich normalerweise benutze Clang, wie Sie formatiert Warnungen und Fehler besser und macht es ein wenig einfacher, um Sie aufzuspüren und zu lösen. Aber vor kurzem, nach dem hinzufügen einer Makro mit Variable Argumente,