C ++ Fehlerexpression muss ein modifizierbares Lvalue sein

C ++ Fehlerexpression muss ein modifizierbares Lvalue sein

Beim Schreiben des Code können zum Zeitpunkt der Ausführung verschiedene Fehler auftreten. Es gibt verschiedene Arten von Fehlern wie logische Fehler, Syntaxfehler und Kompilierzeitfehler. Logische Fehler sind schwer zu überprüfen, da in diesen Fehlertypen kein Fehler angezeigt werden. In diesem Leitfaden werden wir auch über den Fehlertyp „Fehler: LVALUE als linker Operand of Zuweisung“ erörtert. Dieser Fehler tritt hauptsächlich beim Vergleich von zwei Variablen oder Ganzzahlen auf. Diese Art von Fehler tritt aufgrund eines Missverständnisses oder eines Fehlers beim Schreiben des Codes auf. Manchmal haben die Newbie -Programmierer Missverständnisse über Zuordnungen und Vergleichsbetreiber, worauf sie mit dieser Art von Fehler konfrontiert sind. Manchmal macht der Programmierer Mistakea und verwendet den Zuordnungsoperator anstelle des Vergleichsbetreibers. Dies ist leicht zu beheben, da im Ausgangsteil die Beschreibung des Fehlers, der LVALUE ist, erforderlich ist.

Syntax:

Dafür gibt es keine solche spezifische Syntax, da es nicht Teil des Codes ist. Es ist der Fehler, der im Ausgabebereich angezeigt wird, wenn wir den Code ausführen. Das Folgende ist ein Beispiel dafür, wie dieser Fehler aussieht:

Fehler: LVALUE als linker Operanden der Zuordnung erforderlich

In dem zuvor erwähnten Fehler bedeutet der LVALUE, dass das Objekt, das möglicherweise einen identifizierten Speicherort aufweist. Wir können auch sagen, dass es eine bestimmte Adresse im Speicher hat, in dem es gespeichert ist. Wenn wir über die Zuordnung sprechen, kann die Daten gespeichert werden.

Beispiel 1:

Jetzt implementieren wir ein Beispiel, in dem wir diese Art von Fehler generieren und diese beheben. Wir werden zunächst die iOstream -Header -Datei aufnehmen, mit der der Compiler die E/A -Operationen ausführen kann. Danach erstellen wir drei Ganzzahl -Variablen innerhalb der Hauptmethode. Der erste ganzzahlige Typ ist „A“, dem wir den Wert „2“ zuweisen. Wir weisen die zweite Variable „B“ den Wert „3“ zu wie die dritte Variable, die „C“ ist, in der er den Wert „3“ enthält. Danach verwenden wir eine if () -Anweisung, um die Variablen zu vergleichen. Wir bestehen zwei Bedingungen: Die erste Bedingung ist, dass die Variable „A“ nicht der Variablen „B“ entspricht. Die zweite Bedingung ist, dass die Variable „B“ gleich der Variablen „C“ ist. Wenn beide Aussagen wahr sind, werden die Nachricht „Vergleichsübereinstimmungen“ angezeigt. Zuletzt geben wir den Nullwert zurück.

#enthalten
Verwenden von Namespace STD;
int main ()

int a = 2;
int b = 3;
int c = 3;
wenn ein != bbc)

std :: Cout << "Comparison match" << std::endl;

Rückkehr 0;

Nach der Ausführung des Codes erhalten wir einen Fehler, bei dem ein Fehler angezeigt wird, der „LVALUE als linker Operand of Zuweisung“ angezeigt wird. Wie wir kennen. Jetzt lösen wir diesen Fehler auf, indem wir den Zuordnungsoperator "=" durch den Vergleichsoperator "= =" ersetzen. Dann führen wir den Code erneut aus.

Nachdem wir den Code erneut ausgeführt haben, erhalten wir diese Ausgabe, die zeigt, dass wir den Code ohne Fehler ausgeführt haben. Es zeigt, dass unsere Bedingungen wahr sind.

Beispiel 2:

Lassen Sie uns ein weiteres Beispiel ausführen, um eine bessere Idee für die Lösung dieser Fehler zu erhalten. In diesem Beispiel werden wir drei Variablen erstellen und mit dem Modus zweier Variablen mit der IF-ELSE-Anweisung mit dem dritten vergleichen. Wenn der Vergleich übereinstimmt, bewegt es sich in der IF -Anweisung. Wenn es nicht übereinstimmt, wird die elsee Anweisung ausgeführt. Schauen wir uns unseren Code an, in dem wir zuerst unsere Header -Dateien aufnehmen, und wechseln zu unserer Hauptfunktion, in der wir die drei Variablen mit dem Namen "Val1", "Val2" und "Val3" deklarieren, denen wir die Werte "2" zuweisen , "3" und "5". Danach vergleichen wir mit der IF -Anweisung den Modus von "Val1" und "Val2" -Variablen mit der dritten Variablen "Val3", "Val3". Wenn dies übereinstimmt, wird unser If -Anweisungs -Innencode ausgeführt. Wenn es nicht wahr ist, wird die else -Anweisung ausgeführt. Am Ende führen wir unseren Code aus, indem wir den Nullwert zurückgeben.

#enthalten
Verwenden von Namespace STD;
int main ()
int val1 = 2;
int val2 = 3;
int val3 = 5;
if ((Val1%Val2) = Val3)

std :: Cout << "Comparison is a match" << std::endl;

anders

std :: Cout << "Comparison doesn't match" << std::endl;

Rückkehr 0;

Nachdem wir unseren Code ausgeführt haben, stellen wir diese Art von Fehler fest, die darauf hinweist, dass wir den LVALUE als linker Operanden der Zuordnung übersehen, dass die Variable „Val3“ angibt,. Dies bedeutet, dass sich der fehlende Lvalue links von der Val3 -Variablen befindet. Da der Vergleichsoperator in dieser Instanz nicht verwendet wird und der Zuordnungsoperator stattdessen verwendet wird, tritt ein Fehler auf. Eine weitere Sache, die Sie beachten sollten, ist, dass wir den Wert einer Variablen innerhalb der Anweisung if () nicht zuweisen können. Die Anweisung if () wird zum Vergleich der Variablen und nicht zum Zuweisen der Werte der Variablen verwendet. Deshalb zeigt es diesen Fehler an. Jetzt lösen wir dieses Problem, indem wir den Zuordnungsbetreiber durch den Vergleichsbetreiber ersetzen. Dann führen wir den Code erneut aus.

Nach der Wiederaussetzung unseres Codes zeigen wir die Nachricht an - „Vergleich nicht übereinstimmt“. Der Grund, diese Nachricht zu erhalten. Wir erstellen drei Variablen, denen wir die Werte zuweisen und der Modus von zwei Werten mit dem dritten verglichen wird. Hier ist der Modus von „Val1“ und „Val2“ „0.6 ”, um es mit dem VAL3 zu vergleiche, der die Zahl" 5 "enthält. Es ist nicht wahr, dass der Wert von „Val3“ gleich „0 ist.6 ”. Der Compiler ignoriert den iF -Anweisungs -Inner -Code und führt die elsee Anweisung aus.

Abschluss

In diesem Tutorial haben wir den Kompilierungszeitfehler besprochen, der wahrscheinlich aufgrund eines Missverständnisses oder eines Fehlers auftritt, der vom Programmierer durchgeführt wird. Wir haben den Fehler mit einer kurzen Beschreibung und mit mehreren Beispielen erläutert, um Ihnen dies zu vereinfachen, eine Vorstellung davon und die Methode zum Auflösen und Verständnis des Fehlertyps zu erleichtern. Wir haben alle Anstrengungen unternommen, um es so einfach wie möglich zu machen, diesen Fehler zu beheben, wenn er in Ihrem Code auftaucht, während Sie ein Programm schreiben.