L-Wert?
-
Hi!
Hab hier ein kleines Problem in meinem Code:class Spielfeld { public: Spielfeld(); private: char feld[2][10][10]; }; // ... if (feld[0][y][x] == 'X') // funktioniert // ... feld[0][x][y] = 'X'; // funktioniert nicht
Die produzierte Fehlermeldung lautet:
error C2106: '=' : Linker Operand muss ein L-Wert seinIch hoffe ihr könnt mir da weiterhelfen.
-
Ich kann dir sagen was eine L-Wert ist. Das ist ein Wert dem man etwas zuweisen kann, der also auf der LINKEN Seite einer Zuweisung stehen darf.
Ich sehe aber keinen Grund warum das bei dir nicht der Fall sein sollte.
-
LValue steht eigentlich für Location Value
-
Location Value klingt interessant und richtig, ist aber historisch nicht korrekt.
-
Du soltest dir im Programmcode die Zeile vor dem auftreten des Fehlers
angucken.
da feld[0][x][y] eigentlich ein korekter L-Wert seien sollte,
liegt die Vermutung nahe, das z. B. durch ein vergessenes Semikolon
die Zeile vorher
mit zum Ausdruck gehoert, an den 'X' zugewiesen wird.
-
Bashar schrieb:
Location Value klingt interessant und richtig, ist aber historisch nicht korrekt.
Warum ist das historisch nicht korrekt? Im C++ Primer steht auch, dass das für location value steht.