Fehler im Tutorial O_o ?
-
Bassmaster schrieb:
das kam da raus ....

Zeile 13 im ursprünglichen Code. Deine Änderung war sowieso Käse.
-
So ?
#include <iostream> using namespace std; void PrintHeader (int pageNum); int main ( ) { int pNum = 1; // pNum initialisieren PrintHeader(pNum); // Funktion aufrufen // pNum ist hier immer noch 1! PrintHeader(10); // fixe Seitennummer } // Funktionsdefinition void PrintHeader() { int pageNum; cout << "Seiten-Nummer: " << pNum << endl; pageNum = 99; // Parameter verändern }da kommt bei mir diese fehlermeldung:
[C++ Fehler] Unit1.cpp(17): E2451 Undefiniertes Symbol 'pNum'
[C++ Warnung] Unit1.cpp(19): W8004 'pageNum' wurde ein Wert zugewiesen, der nie verwendet wird
-
ah jetzt geht es

thx
-
aber wofür ist den jetzt:
pageNum = 1; // Parameter verändernin dem Kommentar steht ja Parameter verändern aber wenn ich da was veränder passiert gar nichts auch wenn ich es rausnehme funktioniert alles.
-
Das soll dir vermutlich zeigen, was C++ unter "call by value" versteht - du veränderst zwar lokal den Wert von pageNum (wenn du nach dieser Zeile noch eine Ausgabe machst, siehst du auch den veränderten Wert), aber das hat keine Auswirkung auf die übergebene Variable.
-
ok thx
-
warum kann der denn die Zahlen nicht aus geben wenn ich
<< pageNum << endl;weglasse
-
Weil das genau das die Ausgabe ist? Wenn du die Ausgabe weglässt, passiert natürlich keine Ausgabe mehr.
Wenn das nicht das ist, was du meintest, dann drück dich doch bitte mal etwas klarer aus.
-
Weil genau der Teil der Zeile dem Compiler klarmacht, daß du die Zahl (und einen Zeilenwechsel) ausgeben willst - wenn du das weglässt, gibst du nur den Text "Seiten-Nummer:" aus. (und wenn das Semikolon fehlt, beschwert sich der Compiler (zu recht))
-
ok ich glaub jetzt hab is verstanden thx

-