...als Parameter in Funktion
-
Was hat das mit den ... hier für eine bedeutung?
#include <iostream> using namespace std; void f ( ... ) { } int main() { int a = 3; f(a); system("PAUSE"); }
-
Es bezeichnet eine Ellipse, d. h. es können beliebig viele Argumente an f übergeben werden (a la printf). Obwohl f in diesem speziellen Fall keine Möglickeit hat, diese zu verwenden.
Ohne vorhergehende Parameter habe ich so etwas bislang nur an Funktionszeigern gesehen, und da auch nur, um ein C-API durch einen C++-Compiler quetschen zu können. Besser ist es, für solche Sachen variadische Templates zu benutzen.
-
Und wie kann ich die übergebenen Argumente dann in der Funktion f verwenden?
-
-
para_meter schrieb:
Und wie kann ich die übergebenen Argumente dann in der Funktion f verwenden?
nun, wenn die Anzahl der Parameter schon zur Zeit der Definition feststeht, so wie in Fellhuhns Link.
Sonst gar nicht.
-
Wie soll man denn
va_startohne die Angabe des Parameters vor der Ellipse aufrufen?
-
Probieren und beten.
