Errore C ++ LVALUE richiesto come operando sinistro dell'assegnazione

Errore C ++ LVALUE richiesto come operando sinistro dell'assegnazione
A volte, dobbiamo usare dichiarazioni condizionali come l'operatore di assegnazione "=". Esistono due scopi di questo operatore: uno è per l'assegnazione del valore a qualsiasi variabile e il secondo include la combinazione di due "= =" che viene utilizzato per confrontare due variabili o valori. In alcuni casi, quando utilizziamo questi operatori, restituisce il messaggio di errore "L'espressione deve essere un lValue modificabile". Questo è l'errore di programmazione C ++ più tipico che si potrebbe incontrare. Quindi, non dobbiamo preoccuparci, non è un grosso problema affrontare questo tipo di errore. Questo errore si verifica quando stiamo usando espressioni condizionali e invece dell'operatore di confronto "= =". Usiamo l'operatore di assegnazione "=". Se il compilatore soddisfa questo tipo di situazione, visualizza il messaggio di errore senza eseguirlo correttamente.

Per risolvere questo tipo di errore, dobbiamo eseguire nuovamente il nostro codice per verificare il motivo che causa questo errore. A volte, diventa difficile leggere i lunghi programmi. Per ridurre questo, controlliamo semplicemente la linea su cui si sta verificando l'errore. La riga che sta avendo un errore viene visualizzata anche per renderlo facile da scoprire.

Sintassi:

Errore: LVALUE richiesto come Oprand sinistro dell'assegnazione

Non è il codice o il metodo che deve essere definito con una sintassi predefinita. È solo un messaggio di errore che viene visualizzato quando l'operatore di confronto viene miscelato con l'operatore di assegnazione. Quindi, il messaggio viene visualizzato come un errore che viene mostrato sopra. In questo errore, "lValue" è il valore che apparirà sul lato sinistro di quell'operatore.

Esempio # 01:

Ora eseguiremo un esempio per verificare come si verifica questo errore. E utilizzando la riga di codice corretta, rimuoveremo anche questo errore. Passando al nostro codice principale, includeremo innanzitutto i nostri file di intestazione, l'iostream che viene utilizzato per eseguire varie operazioni di input-output come "cout", "cin", ecc. Successivamente, abbiamo incluso "Utilizzare i nomi STD;" Ciò significa che possiamo usare i nomi delle variabili e il nome degli oggetti forniti dalle librerie standard. Ora, dirigendoci verso la nostra funzione principale, abbiamo prima dichiarato una variabile intera denominata "myvar" a cui abbiamo assegnato il valore "5".

Nella riga successiva, abbiamo usato l'istruzione if () a cui abbiamo superato la condizione "5 = myvar" che stiamo usando per confrontare il valore "5" con la variabile "myvar". Se la condizione è soddisfatta, visualizzerà il messaggio "Il valore di Myvar è 5". Eseguimo il codice utilizzando il comando "F7" o semplicemente facendo clic sul pulsante "Esegui".

#includere
Utilizzo dello spazio dei nomi std;
int main ()

int myvar = 5;
if (5 = myvar)

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

Controlliamo l'output del nostro codice. Come visualizzato nello snippet, viene visualizzato l'errore che mostra che c'è un errore all'interno della funzione principale, il tipo di errore viene visualizzato nel testo di colore rosso che indica il "lValue richiesto come operando sinistro dell'assegnazione". Non è necessario che ogni volta che ci sia un errore, il testo sarà lo stesso. In una versione, viene visualizzato in modo diverso come "Errore: l'espressione deve essere un lVale modificabile". Dopo la riga di errore, viene visualizzato il numero di righe su cui si verifica l'errore. Nel nostro caso, è "6" anche il simbolo dell'errore indica che l'errore si verifica all'interno dell'istruzione IF, il che significa che abbiamo scritto la condizione errata all'interno dell'istruzione IF. Ora, rimuoviamo l'errore e controlliamo cosa accadrà dopo averlo rimosso.

Per la rimozione dell'errore abbiamo sostituito la condizione da "5 = myvar" con "5 = = myvar". La condizione che abbiamo passato per generare il codice di errore viene utilizzata per assegnare il valore alla variabile. Nell'istruzione if (), passiamo la condizione del tipo di confronto come parametro. Non possiamo assegnare il valore alla variabile; Questo è il motivo del verificarsi dell'errore. Dopo aver sostituito la condizione con quella corretta, abbiamo visualizzato correttamente il codice interno che era il messaggio da stampare.

Esempio # 02:

In questo esempio, creeremo tre variabili e confronteremo il risultato della sottrazione di due variabili con la terza usando l'istruzione if (). Se la condizione viene soddisfatta, visualizzerà il messaggio. Dopo aver incluso i file di intestazione, creeremo tre variabili interi "var1", var2 "e" var3 "a cui abbiamo assegnato i valori" 10 "," 4 "e" 6 ". Quindi, abbiamo chiamato l'istruzione if () che abbiamo superato la sottrazione di "var1" e "var2". Utilizzando l'operatore "=", confrontiamo il valore risultante di "var1-var2" con "var3". Se la condizione viene soddisfatta, si sposterà all'interno dell'istruzione IF ed eseguirà il messaggio che abbiamo passato all'istruzione "Cout", che la "sottrazione di var1 e var2 è uguale a var3". Infine, restituendo il valore null per eseguire correttamente il codice.

#includere
Utilizzo dello spazio dei nomi 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;

restituzione 0;

Dopo l'esecuzione del codice, abbiamo visualizzato un errore nella sezione di output che mostra che c'è un errore sulla riga "8". Il tipo di errore è "LVALUE richiesto come operando sinistro dell'assegnazione". Ciò significa che il valore sinistro è richiesto sul lato sinistro dell'operatore di assegnazione in modo da non passare il valore alla variabile. Invece, dobbiamo confrontare il valore perché l'istruzione se () viene utilizzata per confrontare le condizioni per non assegnare i valori all'operatore. Ora risolveremo l'errore posizionando "= =" invece di "=".

Dopo aver sostituito l'operatore di confronto con l'operatore di assegnazione, otteniamo l'output desiderato. La sottrazione di "var1" e "var2" è "6" e il valore di "var3" è anche "6" quando l'istruzione if li confronta entrambi diventa vera. Quindi, il compilatore si sposta all'interno dell'istruzione IF e visualizza il messaggio.

Conclusione

In questo tutorial, abbiamo studiato l'errore che può verificarsi a causa della disattenzione del programmatore o talvolta si verifica a causa dell'idea sbagliata tra l'assegnazione e gli operatori di confronto da parte di nuovi programmatori. Con l'aiuto di esempi, abbiamo discusso brevemente il metodo per risolvere questo tipo di errore e anche il modo per trovare l'errore.