variable Anzahl von Argumenten
-
Hallo zusammen
ich sitze gerade an einem seltsamen Problem.
void foo2( const char *pStr, ... ) { va_list va; va_start( va, pStr ); // Ausgabe vprintf( pStr, va ); va_end( va ); }; void foo1( const char *pStr, ... ) { va_list va; va_start( va, pStr ); // Weiter geben foo2( pStr, va ); va_end( va ); }; int main( int argc, char *argv[] ) { // Fuktioniert wunderbar foo2( "Hello %s!", "World" ); // Hier wird Müll ausgegeben foo1( "Hello %s!", "World" ); return 0; };
Wenn foo2 direkt aufrufe funktioniert alles wunderbar. Nur wenn ich foo1 aufrufe und so die variable Argumentenliste erst durch eine weitere Funktion durchgeschliffen wird, wird letztendlich nur Müll ausgegeben. Hat jemand von euch eine Idee?
-
Ich glaub das hier erklärt es ganz gut.
-
Hi TactX, danke. Werde ich mir gleich mal anschauen.