Errore: impossibile fare riferimento a Int in C++

Errore Impossibile Fare Riferimento A Int In C



I linguaggi di programmazione necessitano di librerie, funzioni, sintassi e altre cose quando si lavora con loro. Pertanto, esiste la possibilità che i nostri codici contengano errori. La programmazione in C++ presenta molti tipi distinti di errori. Discuteremo dell'errore 'int non può essere dereferenziato in C++' qui. Questo errore si verifica quando proviamo a utilizzare l'operatore di dereferenziazione “*” con i dati di tipo intero “int” perché “int” è un tipo di dati primitivo. Non possiamo dereferenziare 'int' nella programmazione C++. Qui, l'errore 'int non può essere dereferenziato in C++' e la sua soluzione verrà esplorata a fondo. In questa guida vengono forniti alcuni codici in cui vedremo come si verifica questo errore e come gestire questo tipo di errore in C++.

Esempio 1: Dereferenziazione Int







In questo codice proveremo a dereferenziare 'int' in C++. Ora includiamo semplicemente il file di intestazione 'iostream' per utilizzare le funzioni definite. Al di sotto di questo, utilizziamo il 'namespace std' e invochiamo qui il metodo 'main()'. Quindi, dichiariamo la variabile 'my_num' con il tipo di dati 'int' e assegniamo '99' a questa variabile.



Ora dichiariamo 'my_value' del tipo di dati 'int' e lo inizializziamo con '*my_num', il che significa che stiamo cercando di dereferenziare la variabile 'my_num' che è del tipo di dati 'int'. L'errore viene generato su questa riga durante la compilazione perché non possiamo dereferenziare l'“int”. Vogliamo visualizzare il valore che otteniamo dopo aver dereferenziato int, quindi inseriamo il 'cout' in cui abbiamo aggiunto la variabile 'my_value'.



Codice 1:





#include
utilizzando lo spazio dei nomi std;
int principale ( ) {
int mio_numero = 99 ;
int mio_valore = * mio_numero;
cout << 'Il valore che otteniamo dereferenziando l'int è: ' << mio_valore << fine;
ritorno 0 ;
}

Produzione:



Qui, potremmo notare che non viene visualizzato alcun valore e si verifica un errore che indica che esiste un argomento di tipo non valido di unario '*'. Ciò significa che non possiamo dereferenziare 'int' in C++.

Soluzione 1: senza dereferenziazione

Qui otterremo il valore intero direttamente senza dereferenziare. Importiamo il file header “iostream” poiché sono presenti alcune definizioni di funzioni. Quindi, digitiamo 'namespace std' insieme alla parola chiave 'using' e quindi chiamiamo qui il metodo 'main()'. Ora inizializziamo la variabile “my_num” del tipo di dati “int” con il valore “99”.

Quindi, inizializziamo un'altra variabile con il nome 'my_value' e le assegniamo la variabile 'my_num' che contiene il numero intero. Successivamente, otteniamo questo valore intero direttamente senza dereferenziare inserendo 'my_value' nel 'cout'. Questo ottiene e visualizza il valore intero.

Codice 1:

#include
utilizzando lo spazio dei nomi std;
int principale ( ) {
int mio_numero = 99 ;
int mio_valore = mio_numero;
cout << 'Il valore che otteniamo senza dereferenziare l'int è: ' << mio_valore << fine;
ritorno 0 ;
}

Produzione:

Qui viene visualizzato il valore intero che otteniamo senza dereferenziare nel nostro codice C++. Accediamo direttamente a questo valore intero e lo visualizziamo.

Soluzione 2: dereferenziando il puntatore

Il file di intestazione 'iostream' contiene alcune definizioni di funzioni; li abbiamo importati. Successivamente, eseguiamo qui la funzione 'main()' dopo aver digitato 'namespace std' e la parola chiave 'using'. La variabile “my_num” del tipo di dati “int” è ora inizializzata con il valore “99”.

Successivamente inizializziamo un puntatore “my_ptr” e assegniamo l'indirizzo della variabile “my_num” a questo puntatore. Sotto questo, dereferenziamo il puntatore e assegniamo il valore che otteniamo tramite questo alla variabile 'my_value' poiché abbiamo inizializzato 'my_value' con '*my_ptr'. Ora inseriamo il 'cout' in cui passiamo la variabile 'my_value' per visualizzare il valore intero che otteniamo dereferenziando il puntatore.

Codice 2:

#include
utilizzando lo spazio dei nomi std;
int principale ( ) {
int mio_numero = 99 ;
int * mio_ptr = & mio_numero;
int mio_valore = * mio_ptr;
cout << 'Il valore di int che otteniamo dereferenziando un puntatore è: ' << mio_valore << fine;
ritorno 0 ;
}

Produzione:

Il valore intero che otteniamo dopo aver dereferenziato il puntatore nel nostro codice viene ora visualizzato qui. Quindi, questo è il modo corretto per applicare il dereferenziamento in C++.

Esempio 2: Dereferenziazione Int

Proviamo a dereferenziare 'int' in C++ in questo codice. Per utilizzare le funzioni definite in “iostream”, dobbiamo solo includere il file di intestazione “iostream”. Qui è dove utilizziamo il “namespace std” e chiamiamo la funzione “main()”. Successivamente, creiamo la variabile 'a' e le assegniamo il tipo di dati 'int' insieme al valore '75'.

Sotto creiamo un puntatore con il nome “newPointer” e gli assegniamo con l'aiuto di “&” l'indirizzo della variabile “a”. Quindi, inizializziamo la variabile 'num' di seguito con '*a' che indica che stiamo tentando di dereferenziare la variabile 'a' che è del tipo di dati 'int'. Poiché non è possibile dereferenziare l'“int”, durante la compilazione viene ora prodotto un errore su questa riga. Successivamente utilizziamo anche il “cout” in cui aggiungiamo la variabile “num”.

Codice 2:

#include
utilizzando lo spazio dei nomi std;
int principale ( ) {
int a = 75 ;
int * nuovoPuntatore = & UN;
numero intero = * UN;
cout << 'Il valore del dereferenziamento dell'int è: ' << nessuno << fine;
ritorno 0 ;
}

Produzione:

Qui possiamo vedere che non viene visualizzato alcun valore e viene visualizzato un messaggio di errore che indica un 'parametro di tipo non valido di unario'*'. Ciò indica che 'int' non può essere dereferenziato in C++.

Soluzione 1: senza dereferenziazione

Non avremo bisogno di dereferenziare per ottenere immediatamente il valore intero. Lo importiamo poiché il file di intestazione 'iostream' contiene alcune definizioni di funzioni. La funzione 'main()' viene quindi richiamata dopo l'immissione delle parole chiave 'using' e 'namespace std'. La variabile “a” del tipo di dati “int” è ora inizializzata con il valore “75”. Successivamente inseriamo la “a” nel “cout” per ottenere immediatamente questo valore intero senza dereferenziare. Questo recupera il valore intero e lo mostra qui.

Codice 1:

#include
utilizzando lo spazio dei nomi std;
int principale ( ) {
int a = 75 ;
cout << 'Il valore che otteniamo senza dereferenziare è: ' << UN << fine;
ritorno 0 ;
}

Produzione:

Qui viene presentato il valore intero ottenuto dal nostro codice C++ senza dereferenziazione. Questo valore intero è immediatamente accessibile e viene mostrato qui.

Soluzione 2:

Importiamo il file header “iostream” contenente alcune definizioni di funzioni. Qui, digitiamo 'namespace std' e la parola chiave 'using' prima di eseguire la funzione 'main()'. Il valore “75” è assegnato alla variabile “a”.

Successivamente, dichiariamo un puntatore chiamato “mypointer” e lo inizializziamo con l'indirizzo della variabile “a”. Sotto questo, dereferenziamo il puntatore e assegniamo il valore che otteniamo da questo alla variabile 'risultato' mentre inizializziamo il 'risultato' con '*mypointer'. Dopo aver dereferenziato il puntatore, inseriamo il comando “cout” e passiamo la variabile “result” per mostrare il valore intero.

Codice 2:

#include
utilizzando lo spazio dei nomi std;
int principale ( ) {
int a = 75 ;
int * miopuntatore = & UN;
risultato int = * miopuntatore;
cout << 'Il valore che otteniamo dereferenziando il puntatore è: ' << risultato << fine;
ritorno 0 ;
}

Produzione:

Questa è la tecnica corretta per applicare il dereferenziamento in C++. Restituisce il valore intero che abbiamo ottenuto dopo aver dereferenziato il puntatore invece di dereferenziato 'int'.

Conclusione

Abbiamo esplorato che quando proviamo a ottenere il valore dereferenziando 'int' in C++, si verificherà l'errore 'parametro di tipo non valido di unario '*' con int', il che significa che 'int non può essere dereferenziato in C++'. Abbiamo anche spiegato la soluzione a questo errore. In questa guida abbiamo utilizzato il codice in cui si sono verificati gli errori e i codici in cui abbiamo fornito la soluzione di tale errore.