Hallo Leute, habe ein ziemlich einfaches Problem, dass ihr sicher gleich lösen könnt: Wieso lässt sich folgende Source ncht compilieren? //-------------------- void quadriere(int& wert); int main(void) { return 0; } void quadriere(int& wert) { wert++; }; //-------------------- vielen Dank an euch
& liefert die Adresse einer Variablen, ist also als Typdeklaration völlig ungeeignet. Peter
Laut meinem C buch (aus dem dieses beispiel ist) soll dass eine Parameterübergabe per referenz sein. D.H. man übergibt eine Variable direkt anstatt nur eine Kopie in Visual Studio Funktioniert dass auch nur nicht beim GCC sonst noch vorschläge?
Dein C-Buch sollte bitte schön auch C++ drauf schreiben. GCC kann auch C++, aber du musst ihm das dann bitte auch sagen, dass es eine C++-Datei ist.
Peters Aussage trifft nur dann zu, wenn es um C anstelle von C++ geht. In C++ ist das eine Referenz, und soweit vollkommen in Ordnung. Das ist gültiger C++-Sourcecode. Warum sich der Quelltext nicht compilieren lässt, werden die Fehlermeldungen des Compilers verraten. Ansehen, bei Nichtverständnis hier posten, gezielt fragen! Lautet die Dateinamenserweiterung (Extension) der Quelltextdatei zufälligerweise .c? Versuch's mal mit .cpp. Der Quelltext macht allerdings nichts; in main() wird die Funktion quadriere() gar nicht aufgerufen. int main(void) { int bla; bla = 2; quadriere(bla); // bla ansehen/ausgeben/was auch immer }
Hi das ist *C++*. In C gibt es die Parameterübergabe in dieser Weise nicht. Du mußt einen Pointer übergeben. Matthias
Ok, danke. dass war die entscheidente Info hab in der Schule c++ gelernt, verwende jetzt aber c mal sehen was noch für überraschungen auf mich warten cu
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.