L'espressione di errore C ++ deve essere un lValE modificabile

L'espressione di errore C ++ deve essere un lValE modificabile

Durante la scrittura del codice, possono verificarsi vari errori al momento dell'esecuzione. Esistono vari tipi di errori come errori logici, errori di sintassi ed errori di compilazione. Gli errori logici sono difficili da verificare perché non viene visualizzato alcun errore in questi tipi di errori mentre la sintassi e la compilazione possono essere rilevati errori al momento dell'esecuzione. In questa guida, discuteremo anche di "Errore: LVALUE richiesto come operando sinistro dell'assegnazione" Tipo di errore. Questo errore si verifica principalmente mentre si confronta due variabili o numeri interi. Questo tipo di errore si verifica a causa di un malinteso o errore durante la scrittura del codice. A volte, i programmatori dei principianti hanno idee sbagliate su incarichi e operatori di confronto a causa di cui affrontano questo tipo di errore. A volte, durante la codifica, il programmatore produce Mistakea e utilizza l'operatore di assegnazione anziché l'operatore di confronto. Questo è facile da risolvere perché nella parte di output è richiesta la descrizione dell'errore che è LValue.

Sintassi:

Non esiste una sintassi così specifica per questo perché non fa parte del codice. È il bug che viene visualizzato nell'area di output quando eseguiamo il codice. Quello che segue è un esempio su come appare questo errore:

Errore: LVALUE richiesto come operando sinistro dell'assegnazione

Nell'errore precedentemente menzionato, il LVALUE significa che l'oggetto che può avere una posizione di memoria identificata. Possiamo anche dire che ha un indirizzo specificato nella memoria in cui è archiviato. Quando parliamo di incarico, può archiviare i dati.

Esempio 1:

Ora, implementiamo un esempio in cui generiamo questo tipo di errore e lo risolviamo. Includeremo innanzitutto il file di intestazione iostream che consente al compilatore di eseguire le operazioni I/O. Successivamente, creiamo tre variabili interi all'interno del metodo principale. Il primo tipo intero è "A" a cui assegniamo il valore "2". Assegniamo il valore "3" alla seconda variabile "B" come la terza variabile che è "C" in cui contiene il valore "3". Successivamente, utilizziamo un'istruzione if () per confrontare le variabili. Passiamo due condizioni: la prima condizione è che la variabile "A" non è uguale alla variabile "B". La seconda condizione è che la variabile "B" sia uguale alla variabile "C". Se entrambe le dichiarazioni sono vere, visualizza il messaggio di "corrispondenza del confronto". Infine, restituiamo il valore nullo.

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

int a = 2;
int b = 3;
int c = 3;
se un != b && b = c)

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

restituzione 0;

Dopo l'esecuzione del codice, otteniamo un errore che mostra che c'è un errore che mostra "LVALUE richiesto come operando sinistro dell'assegnazione". Come sappiamo, l'errore si verifica in linea e il tipo di errore indica anche che esiste un valore sinistro (LVALUE) richiesto a sinistra dell'operando a cui è puntato. Ora, risolviamo questo errore sostituendo l'operatore di assegnazione "=" con l'operatore di confronto "= =". Quindi, eseguiamo di nuovo il codice.

Dopo aver nuovamente eseguito il codice, otteniamo questo output che mostra che abbiamo eseguito il codice senza alcun errore. Mostra che le nostre condizioni sono vere.

Esempio 2:

Eseguiamo un altro esempio per avere un'idea migliore per la risoluzione di questi errori. In questo esempio, creeremo tre variabili e, avendo la modalità di due variabili, la confronteremo quindi con la terza usando l'istruzione IF-ELSE. Se il confronto corrisponde, si sposta all'interno dell'istruzione IF. Se non corrisponde, esegue l'istruzione else. Diamo un'occhiata al nostro codice in cui includiamo prima i nostri file di intestazione, quindi passiamo alla nostra funzione principale in cui dichiariamo le tre variabili denominate "Val1", "Val2" e "Val3" a cui assegniamo i valori "2" , "3" e "5". Successivamente, utilizzando l'istruzione IF, confrontiamo la modalità "Val1" e "Val2" con la terza variabile, "Val3". Se questo corrisponde, viene eseguito il nostro codice interno dell'istruzione IF. Se non è vero, l'istruzione altro viene eseguita. Alla fine, eseguiamo il nostro codice restituendo il valore null.

#includere
Utilizzo dello spazio dei nomi std;
int main ()
int val1 = 2;
int val2 = 3;
int val3 = 5;
if ((val1%val2) = val3)

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

altro

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

restituzione 0;

Dopo aver eseguito il nostro codice, scopriamo questo tipo di errore che indica che abbiamo perso il LVALUE come operando sinistro dell'assegnazione indica la variabile "Val3". Ciò significa che l'LVALUE MANCANDO è a sinistra della variabile "Val3". Poiché l'operatore di confronto non viene utilizzato in questa istanza e viene utilizzato invece l'operatore di assegnazione, si verifica un errore. Un'altra cosa da tenere a mente è che non possiamo assegnare il valore a nessuna variabile all'interno dell'istruzione if (). L'istruzione IF () viene utilizzata per il confronto delle variabili e non per l'assegnazione dei valori alla variabile. Ecco perché visualizza questo errore. Ora risolviamo questo problema sostituendo l'operatore di assegnazione con l'operatore di confronto. Quindi, riaccustiamo il codice.

Dopo la riesucuzione del nostro codice, visualizziamo il messaggio: "Il confronto non corrisponde". Il motivo per ottenere questo messaggio è che le dichiarazioni altro vengono eseguite come visto nel codice precedente. Creiamo tre variabili a cui assegniamo i valori e la modalità di due valori viene confrontata con la terza. Qui, la modalità di "Val1" e "Val2" è "0.6 ", confrontandolo con Val3 che contiene il numero" 5 ". Non è vero che il valore di "Val3" è uguale a "0.6 ". Il compilatore ignora il codice interno dell'istruzione if ed esegue l'istruzione else.

Conclusione

In questo tutorial, abbiamo discusso dell'errore di tempo di compilazione che molto probabilmente si verifica a causa di un malinteso o un errore che viene fatto dal programmatore. Abbiamo spiegato l'errore con una breve descrizione e con più esempi per renderlo facile avere un'idea al riguardo e il metodo per risolvere e comprendere il tipo di errore. Abbiamo fatto ogni sforzo per renderlo il più semplice possibile per risolvere questo errore ogni volta che viene visualizzato nel tuo codice mentre stai scrivendo un programma.