C ++ Fehler LVALUE

C ++ Fehler LVALUE
Manchmal müssen wir bedingte Aussagen wie den Zuordnungsoperator "=" verwenden. Es gibt zwei Zwecke dieses Operator. In einigen Fällen wird die Fehlermeldung „Ausdruck ein modifizierbarer Lvalue sein“ zurückgegeben, wenn wir diese Operatoren verwenden. Dies ist der typischste C ++ - Programmierfehler, auf den man begegnen könnte. Wir müssen uns also keine Sorgen machen, es ist kein großes Problem, sich solcher Fehler zu stellen. Dieser Fehler tritt auf, wenn wir bedingte Ausdrücke verwenden und anstelle des Vergleichs "= =" Operator. Wir verwenden den Zuordnung "=" -Preiberer. Wenn der Compiler diese Art von Situation erfüllt, wird die Fehlermeldung angezeigt, ohne sie erfolgreich auszuführen.

Um einen solchen Fehler zu beheben, müssen wir unseren Code erneut durchgehen, um den Grund zu überprüfen, der diesen Fehler verursacht. Manchmal wird es schwierig, die langwierigen Programme zu lesen. Um dies zu reduzieren, überprüfen wir nur die Zeile, in der der Fehler auftritt. Die Zeile, die einen Fehler hat, wird ebenfalls angezeigt, um es leicht zu finden.

Syntax:

Fehler: LVALUE als links oprand der Zuordnung erforderlich

Es ist nicht der Code oder die Methode, die mit einer vordefinierten Syntax definiert werden soll. Es handelt sich nur um eine Fehlermeldung, die angezeigt wird, wenn der Vergleichsoperator mit dem Zuordnungsoperator gemischt wird. Dann wird die Nachricht als Fehler angezeigt, der oben angezeigt wird. In diesem Fehler ist „LVALUE“ der Wert, der auf der linken Seite dieses Operators erscheint.

Beispiel # 01:

Jetzt werden wir ein Beispiel geben, um zu überprüfen, wie dieser Fehler auftritt. Und durch die Verwendung der richtigen Codezeile werden wir auch diesen Fehler entfernen. Wenn wir zu unserem Hauptcode wechseln, werden wir zunächst unsere Header-Dateien, den „iOstream“ einbeziehen, mit dem verschiedene Eingabebereiche wie „Cout“, „CIN“ usw. durchgeführt werden, usw. Danach haben wir "Verwendung des Namespace STD" aufgenommen; Dies bedeutet, dass wir die Variablennamen und den Namen der Objekte verwenden können, die von den Standardbibliotheken bereitgestellt werden. Als wir uns nun auf unsere Hauptfunktion befassen, haben wir zunächst eine Ganzzahlvariable mit dem Namen "MyVar" deklariert, der wir den Wert "5" zugewiesen haben.

In der nächsten Zeile haben wir die IF () -Schürt. Wenn die Bedingung erfüllt ist, wird die Meldung "Der Wert von myvar beträgt 5" angezeigt. Wir werden den Code mit dem Befehl „F7“ ausführen oder nur auf die Schaltfläche "Ausführen" klicken.

#enthalten
Verwenden von Namespace STD;
int main ()

int myvar = 5;
if (5 = myvar)

std :: Cout << "The value of myvar is 5" << std::endl;

Lassen Sie uns die Ausgabe unseres Codes überprüfen. Wie im Snippet angezeigt, wird der Fehler angezeigt, der zeigt, dass ein Fehler in der Hauptfunktion vorliegt. Der Fehlertyp wird in dem rot gefärbten Text angezeigt, der den „LVALUE als linker Operand der Zuordnung“ mitteilt. Es ist nicht notwendig, dass der Text jedes Mal, wenn ein Fehler vorliegt, der gleiche ist. In einer Version wird es anders angezeigt als "Fehler: Ausdruck muss ein modifizierbares Lvalue sein". Nach der Fehlerzeile wird die Anzahl der Zeilen angezeigt, auf denen der Fehler auftritt. In unserem Fall ist es „6“ auch das Fehlersymbol zeigt an, dass der Fehler in der IF -Anweisung auftritt, was bedeutet. Lassen Sie uns nun den Fehler entfernen und überprüfen, was nach dem Entfernen passieren wird.

Um den Fehler zu entfernen, haben wir die Bedingung durch "5 = myvar" durch "5 = = myvar" ersetzt. Die Bedingung, die wir zum Generieren des Fehlercodes übergeben haben, wird verwendet, um den Wert der Variablen zuzuweisen. In der Anweisung if () bestehen wir die Bedingung des Vergleichstyps als Parameter. Wir können den Wert der Variablen nicht zuweisen; Das ist der Grund für das Auftreten des Fehlers. Nachdem wir den Zustand durch den richtigen ersetzt haben, haben wir den inneren Code erfolgreich angezeigt, der die Nachricht war, die gedruckt werden soll.

Beispiel # 02:

In diesem Beispiel werden wir drei Variablen erstellen und das Ergebnis der Subtraktion von zwei Variablen mit der dritten unter Verwendung der IF () -anweisung vergleichen. Wenn der Zustand erfüllt ist, wird die Nachricht angezeigt. Nachdem wir Header -Dateien eingefügt haben, erstellen wir drei Ganzzahlvariablen "var1", var2 "und" var3 ", denen wir die Werte" 10 "," 4 "und" 6 "zugewiesen haben. Dann haben wir die if () -Anweisung angerufen, die wir die Subtraktion des "var1" und "var2" übergeben haben. Mit dem Operator "=" vergleichen wir den resultierenden Wert von "var1-var2" mit dem "var3". Wenn die Bedingung erfüllt ist, wird sie in der IF -Anweisung bewegt und die Nachricht ausgeführt, die wir an die Anweisung „Cout“ übergeben haben, dass die „Subtraktion von var1 und var2 dem Var3 gleich ist“. Zuletzt gibt der Nullwert zurück, um den Code erfolgreich auszuführen.

#enthalten
Verwenden von Namespace STD;
int main ()

int var1 = 10;
int var2 = 4;
int var3 = 6;
if ((var1 - var2) = var3)

std :: Cout <<"subtraction of var1 and var2 is equal to the var3" << std::endl;

Rückkehr 0;

Nach der Ausführung des Codes haben wir einen Fehler im Ausgabeabschnitt angezeigt, der zeigt, dass ein Fehler in Zeile „8“ vorliegt. Die Art des Fehlers ist "LVALUE als linker Operand der Zuordnung erforderlich". Dies bedeutet, dass der linke Wert auf der linken Seite des Zuordnungsoperators erforderlich ist, damit wir den Wert nicht an die Variable übergeben haben. Stattdessen müssen wir den Wert vergleichen, da die Anweisung if () verwendet wird, um die Bedingungen zu vergleichen, um die Werte nicht dem Bediener zuzuweisen. Jetzt werden wir den Fehler lösen, indem wir "= =" anstelle von "=" platzieren.

Nachdem wir den Vergleichsbetreiber durch den Zuordnungsbetreiber ersetzt haben, erhalten wir die gewünschte Ausgabe. Die Subtraktion von "var1" und "var2" ist "6" und der Wert von "var3" ist ebenfalls "6", wenn die IF -Anweisung sie beide vergleicht, wird wahr. Der Compiler bewegt sich also in der IF -Anweisung und zeigt die Nachricht an.

Abschluss

In diesem Tutorial haben wir den Fehler untersucht, der aufgrund der Nachlässigkeit des Codierers auftreten kann, oder manchmal tritt dies aufgrund des Missverständnisses zwischen der Zuordnung und den Vergleichsbetreibern durch neue Codierer auf. Mit Hilfe von Beispielen haben wir kurz die Methode erörtert, um diese Art von Fehler zu beheben, und auch den Weg, um den Fehler zu finden.