Erreur C ++ LVALUE requise comme l'opérande gauche de l'affectation

Erreur C ++ LVALUE requise comme l'opérande gauche de l'affectation
Parfois, nous devons utiliser des instructions conditionnelles comme l'opérateur d'affectation «=». Il y a deux objectifs de cet opérateur: l'un est pour attribuer la valeur à n'importe quelle variable et le second comprend la combinaison de deux «= =» qui est utilisé pour comparer deux variables ou valeurs. Dans certains cas, lorsque nous utilisons ces opérateurs, il renvoie le message d'erreur «L'expression doit être une LVALUE modifiable». Il s'agit de l'erreur de programmation C ++ la plus typique que l'on pourrait rencontrer. Donc, nous n'avons pas à nous en soucier, ce n'est pas un gros problème de faire face à ce genre d'erreur. Cette erreur se produit lorsque nous utilisons des expressions conditionnelles et au lieu de l'opérateur de comparaison «= =». Nous utilisons l'opérateur d'affectation «=». Si le compilateur répond à ce type de situation, il affiche le message d'erreur sans l'exécuter avec succès.

Pour résoudre ce type d'erreur, nous devons à nouveau passer par notre code pour vérifier la raison qui provoque cette erreur. Parfois, il devient difficile de lire les longs programmes. Pour réduire cela, nous vérifions simplement la ligne sur laquelle l'erreur se produit. La ligne qui a une erreur est également affichée pour faciliter la découverte.

Syntaxe:

Erreur: Lvalue requis comme le gauche Oprand of Affectation

Ce n'est pas le code ou la méthode qui doit être définie avec une syntaxe prédéfinie. C'est juste un message d'erreur qui s'affiche lorsque l'opérateur de comparaison est mélangé avec l'opérateur d'affectation. Ensuite, le message s'affiche comme une erreur affichée ci-dessus. Dans cette erreur, «lvalue» est la valeur qui apparaîtra sur le côté gauche de cet opérateur.

Exemple # 01:

Maintenant, nous allons effectuer un exemple pour vérifier comment cette erreur se produit. Et en utilisant la bonne ligne de code, nous supprimerons également cette erreur. En passant à notre code principal, nous inclurons d'abord nos fichiers d'en-tête, le «iOStream» qui est utilisé pour effectuer diverses opérations d'entrée comme «cout», «cin», etc. Après cela, nous avons inclus «Utilisation de Namespace STD»; ce qui signifie que nous pouvons utiliser les noms de variable et le nom des objets fournis par les bibliothèques standard. Maintenant, en direction de notre fonction principale, nous avons d'abord déclaré une variable entière nommée «Myvar» à laquelle nous avons attribué la valeur «5».

Dans la ligne suivante, nous avons utilisé l'instruction if () à laquelle nous avons passé la condition «5 = myvar» que nous utilisons pour comparer la valeur «5» avec la variable «myvar». Si la condition est remplie, elle affichera le message «La valeur de MyVar est de 5». Nous exécuterons le code à l'aide de la commande «F7» ou en cliquant simplement sur le bouton «Exécuter».

#inclure
Utilisation de Namespace Std;
int main()

int myvar = 5;
si (5 = myvar)

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

Vérifions la sortie de notre code. Comme affiché dans l'extrait, l'erreur s'affiche qui montre qu'il y a une erreur à l'intérieur de la fonction principale, le type d'erreur s'affiche dans le texte de couleur rouge qui indique le «LVALUE requis en tant qu'opérande gauche de l'affectation». Il n'est pas nécessaire que chaque fois qu'il y ait une erreur, le texte sera le même. Dans une version, il s'affiche différemment comme «Erreur: l'expression doit être un lvalue modifiable». Après la ligne d'erreur, le nombre de lignes sur lesquels l'erreur se produit s'affiche. Dans notre cas, c'est «6» également le symbole d'erreur indique que l'erreur se produit à l'intérieur de l'instruction IF, ce qui signifie que nous avons écrit la mauvaise condition à l'intérieur de l'instruction if. Maintenant, supprimons l'erreur et vérifions ce qui se passera après l'avoir retiré.

Pour supprimer l'erreur, nous avons remplacé la condition de «5 = myvar» par «5 = = myvar». La condition que nous avons adoptée pour générer le code d'erreur est utilisée pour attribuer la valeur à la variable. Dans l'instruction if (), nous passons la condition du type de comparaison en tant que paramètre. Nous ne pouvons pas attribuer la valeur à la variable; C'est la raison de l'occurrence de l'erreur. Après avoir remplacé l'état par le bon, nous avons affiché avec succès le code intérieur qui était le message qui doit être imprimé.

Exemple # 02:

Dans cet exemple, nous créerons trois variables et comparerons le résultat de la soustraction de deux variables avec la troisième en utilisant l'instruction if (). Si la condition est remplie, elle affichera le message. Après avoir inclus des fichiers d'en-tête, nous créerons trois variables entières «var1», var2 »et« var3 »auxquelles nous avons attribué les valeurs« 10 »,« 4 »et« 6 ». Ensuite, nous avons appelé la déclaration if () que nous avons passé la soustraction du «var1» et «var2». En utilisant l'opérateur «=», nous comparons la valeur résultante de «var1-var2» avec le «var3». Si la condition est remplie, elle se déplacera à l'intérieur de l'instruction IF et exécutera le message que nous avons transmis à l'instruction «cout», que la «soustraction de var1 et var2 est égale au var3». Enfin, renvoyant la valeur nul pour exécuter le code avec succès.

#inclure
Utilisation de 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;

retour 0;

Après l'exécution du code, nous avons une erreur affichée dans la section de sortie qui montre qu'il y a une erreur sur la ligne «8». Le type d'erreur est «LVALUE requis en tant qu'opérande gauche de l'affectation». Cela signifie que la valeur gauche est requise sur le côté gauche de l'opérateur d'affectation afin que nous n'ayons pas transmis la valeur à la variable. Au lieu de cela, nous devons comparer la valeur car si () est utilisée pour comparer les conditions pour ne pas attribuer les valeurs à l'opérateur. Nous allons maintenant résoudre l'erreur en plaçant «= =» au lieu de «=».

Après avoir remplacé l'opérateur de comparaison par l'opérateur d'affectation, nous obtenons la sortie souhaitée. La soustraction de «var1» et «var2» est «6» et la valeur de «var3» est également «6» lorsque l'instruction if les compare tous les deux, il devient vrai. Ainsi, le compilateur se déplace à l'intérieur de l'instruction IF et affiche le message.

Conclusion

Dans ce tutoriel, nous avons étudié l'erreur qui peut se produire en raison de la négligence du codeur ou parfois elle se produit en raison de l'idée fausse entre l'affectation et les opérateurs de comparaison par de nouveaux codeurs. Avec l'aide d'exemples, nous avons brièvement discuté de la méthode pour résoudre ce type d'erreur, ainsi que la façon de trouver l'erreur.