Hinzufügen von default-Argumente Variable makro

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 Argumente, so dass es sollte nicht auf der vorherigen version. Wie:

#define MACRO(arg1, arg2 = "", arg3 = "", ...) func(arg1, arg2, arg3, ##__VA_ARGS__)

Jede mögliche Hilfe würde geschätzt.

  • C unterstützt keine default-Argumente. Meinst du C++ ?
  • Nicht sicher, Im verstehen, nicht <pre>#define MAKRO(arg1, ...) func(arg1, "", "", ##__VA_ARGS__)</pre> funktioniert ?
  • Ja. Vergaß zu erwähnen. Es ist für C++. Dank
  • In der Tat die Argumente arg1 und arg2 in func() wird entschieden werden, basierend auf den Werten dieser Argumente im MAKRO() in der Quelle. Es kann leer sein, um Abwärtskompatibilität zu unterstützen.
InformationsquelleAutor vishal | 2010-02-24
Schreibe einen Kommentar