Syntaxfrage: temporaeres Objekt an Funktion uebergeben
-
Kurze Beschreibung meines Problems:
Ich habe eine Klasse ohne default-Ctorclass A { /* ... */ public: A(int i); };Und eine Funktion die eine Referenz auf diese Klasse als Argument nimmt
void f(A const& a, int i, int j);Und moechte diese Funktion nun mit einer temporaeren Variablen aufrufen. Die triviale Methode waere ja wie folgt:
int main() { /* ... */ A mya(5); f(mya, 16, 32); /* ... */ }Da ich aber das Objekt in diesem Fall nur innerhalb der Funktion brauche, hatte ich an folgendes gedacht:
int main() { /* ... */ f(A mya(5), 16, 32); //temporaeres A mit 5 initialiseren /* ... */ }Das schluckt mein CINT aber nicht:
error: parse error before `(' tokenWie mach ichs richtig?
-
pumuckl schrieb:
...
Da ich aber das Objekt in diesem Fall nur innerhalb der Funktion brauche, hatte ich an folgendes gedacht:int main() { /* ... */ f(A mya(5), 16, 32); //temporaeres A mit 5 initialiseren /* ... */ }Das schluckt mein CINT aber nicht:
error: parse error before `(' tokenWie mach ichs richtig?
f(A(5), 16, 32); // Temporäre Variablen sind unbenannt
cu André
-
Danke. Mein brett vorm Kopf mal wieder...