Parameret mit undefiniertem Parameteranzahl innerhalb von SOLCHER funktion übergeben?
-
Hallo zusammen!
ich würde gern so das Ding aufrufen können:void addChild(uint32_t anzahl, ...){ marker(anzahl, ...); // Hier sollen ja quasi dieselbe Argumente übergeben. }
Der primitive Kompiler versteht aber nicht der Ausdruck,
was eig. ein Feature der hoheren Sprachen ist.
Wie löse ich das Problem?
Ohne Arrays oder ähnliches, ich möchte der Syntaxis beibehalten.
-
Hi
Das wird so wohl nicht gehen.
Das höchste der Gefühle einer Annäherung wird sein:void marker ( uint32_t n, va_list vl ) { // ... } void addChild ( uint32_t n, ... ) { va_list vl; va_start ( vl, n ); marker ( n, vl ); va_end ( vl ); }
Stellt sich die Frage, ist das sinnvoll? Kann man das nicht lieber gleich in der Funktion addChild (evtl. Funktion sinnvoll umbenennen) erledigen?
-
Hi!
Danke, dies wäre eine passende Variante.den Kode blöd umzukopieren will ich nicht wegen "dont repeat yourself"