Error: Hindi Ma-dereference ang Int sa C++

Error Hindi Ma Dereference Ang Int Sa C



Ang mga programming language ay nangangailangan ng mga library, function, syntax, at iba pang bagay kapag nagtatrabaho sa kanila. Kaya, may posibilidad na maglaman ng mga error ang aming mga code. Ang programming sa C++ ay may maraming natatanging uri ng mga error. Tatalakayin natin ang tungkol sa 'int cannot be dereferenced in C++' error dito. Ang error na ito ay nangyayari kapag sinubukan naming gamitin ang dereference operator na '*' na may integer type na data na 'int' dahil ang 'int' ay isang primitive na uri ng data. Hindi namin maaaring i-dereference ang 'int' sa C++ programming. Dito, ang 'int ay hindi maaaring i-dereference sa C++' na error at ang solusyon nito ay masusuri nang lubusan. Ang ilang mga code ay ibinigay sa gabay na ito kung saan makikita natin kung paano nangyayari ang error na ito at kung paano pangasiwaan ang ganitong uri ng error sa C++.

Halimbawa 1: Dereferencing Int







Sa code na ito, susubukan naming i-dereference ang 'int' sa C++. Ngayon, isinama lang namin ang 'iostream' na header file upang magamit ang mga tinukoy na function. Sa ilalim nito, ginagamit namin ang 'namespace std' at ginagamit ang 'pangunahing()' na pamamaraan dito. Pagkatapos, idineklara namin ang variable na 'my_num' na may 'int' na uri ng data at itinalaga ang '99' sa variable na ito.



Ngayon, idedeklara namin ang 'my_value' ng 'int' na uri ng data at sinisimulan ito ng '*my_num' na nangangahulugang sinusubukan naming i-dereference ang variable na 'my_num' na nasa 'int' na uri ng data. Ang error ay nabuo sa linyang ito habang nagko-compile dahil hindi namin ma-dereference ang 'int'. Gusto naming ipakita ang value na nakukuha namin pagkatapos ng dereferencing int, kaya inilalagay namin ang 'cout' kung saan idinagdag namin ang variable na 'my_value'.



Code 1:





#include
gamit ang namespace std;
int pangunahing ( ) {
int my_num = 99 ;
int my_value = * my_num;
cout << 'Ang halaga na nakukuha namin sa pamamagitan ng dereferencing sa int ay: ' << my_value << endl;
bumalik 0 ;
}

Output:



Dito, maaari naming mapansin na walang ipinapakitang value at may naganap na error na nagsasabing mayroong hindi wastong uri ng argumento ng unary '*'. Nangangahulugan ito na hindi namin maaaring i-dereference ang 'int' sa C++.

Solusyon 1: Nang walang Dereferencing

Dito, direktang makukuha natin ang halaga ng integer nang walang dereferencing. Ini-import namin ang 'iostream' na header file dahil naroroon ang ilang mga kahulugan ng function. Pagkatapos, i-type namin ang 'namespace std' kasama ang 'paggamit' na keyword at pagkatapos ay tinatawag ang 'pangunahing()' na paraan dito. Ngayon, sinisimulan namin ang variable na 'my_num' ng 'int' na uri ng data na may halaga na '99'.

Pagkatapos, sinisimulan namin ang isa pang variable na may pangalang 'my_value' at italaga ito kasama ng variable na 'my_num' na naglalaman ng integer number. Pagkatapos nito, direktang nakukuha namin ang integer value na ito nang walang dereferencing sa pamamagitan ng paglalagay ng “my_value” sa “cout”. Nakukuha at ipinapakita nito ang halaga ng integer.

Code 1:

#include
gamit ang namespace std;
int pangunahing ( ) {
int my_num = 99 ;
int my_value = my_num;
cout << 'Ang halaga na nakukuha namin nang hindi binabalewala ang int ay: ' << my_value << endl;
bumalik 0 ;
}

Output:

Ang halaga ng integer ay nai-render dito na nakukuha namin nang walang dereferencing sa aming C++ code. Direkta naming ina-access ang integer value na ito at ipinapakita ito.

Solusyon 2: Sa pamamagitan ng Dereferencing sa Pointer

Ang 'iostream' header file ay naglalaman ng ilang partikular na kahulugan ng function; imported namin sila. Susunod, pinapatakbo namin ang function na 'main()' dito pagkatapos i-type ang 'namespace std' at ang 'gamit' na keyword. Ang 'my_num' na variable ng 'int' na uri ng data ay sinisimulan na ngayon sa halagang '99'.

Pagkatapos nito, sinisimulan namin ang isang pointer na 'my_ptr' at itatalaga ang address ng variable na 'my_num' sa pointer na ito. Sa ilalim nito, inaalis namin ang sanggunian sa pointer at itinalaga ang value na nakukuha namin dito sa variable na 'my_value' habang sinisimulan namin ang 'my_value' gamit ang '*my_ptr'. Ngayon, inilalagay namin ang 'cout' kung saan ipinapasa namin ang variable na 'my_value' upang ipakita ang halaga ng integer na nakukuha namin sa pamamagitan ng dereferencing sa pointer.

Code 2:

#include
gamit ang namespace std;
int pangunahing ( ) {
int my_num = 99 ;
int * my_ptr = at my_num;
int my_value = * my_ptr;
cout << 'Ang halaga ng int na nakukuha natin sa dereferencing ng pointer ay: ' << my_value << endl;
bumalik 0 ;
}

Output:

Ang halaga ng integer na nakuha namin pagkatapos i-dereferencing ang pointer sa aming code ay ipinapakita na dito. Kaya, ito ang tamang paraan para sa paglalapat ng dereferencing sa C++.

Halimbawa 2: Dereferencing Int

Subukan nating i-dereference ang 'int' sa C++ sa code na ito. Para magamit ang mga function na tinukoy sa 'iostream', kailangan lang naming isama ang 'iostream' header file. Dito namin ginagamit ang 'namespace std' at tinatawag ang function na 'main()'. Susunod, gagawa kami ng variable na 'a' at binibigyan ito ng 'int' na uri ng data kasama ang halaga ng '75'.

Sa ilalim nito, gumawa kami ng pointer na pinangalanang 'newPointer' at itinatalaga ang address ng variable na 'a' sa pointer na ito sa tulong ng '&'. Pagkatapos, sinisimulan namin ang variable na 'num' sa ibaba ng '*a' na nagpapahiwatig na sinusubukan naming i-dereference ang variable na 'a' na nasa 'int' na uri ng data. Dahil hindi namin maaaring i-dereference ang 'int', isang error ang nagagawa ngayon sa linyang ito sa panahon ng compilation. Pagkatapos nito, ginagamit din namin ang 'cout' kung saan idinaragdag namin ang variable na 'num'.

Code 2:

#include
gamit ang namespace std;
int pangunahing ( ) {
int a = 75 ;
int * newPointer = at a;
int na numero = * a;
cout << 'Ang halaga ng dereferencing sa int ay: ' << sa isa << endl;
bumalik 0 ;
}

Output:

Dito, makikita natin na walang value na ipinapakita at may lalabas na mensahe ng error na nagsasaad ng “invalid type parameter of unary”*”. Ito ay nagpapahiwatig na ang 'int' ay hindi maaaring i-dereference sa C++.

Solusyon 1: Nang walang Dereferencing

Hindi namin kakailanganing mag-dereference para makuha kaagad ang integer value. Ini-import namin ito dahil naglalaman ang 'iostream' header file ng ilang partikular na kahulugan ng function. Ang 'pangunahing()' na function ay i-invoke pagkatapos maipasok ang 'paggamit' at 'namespace std' na mga keyword. Ang 'a' na variable ng 'int' na uri ng data ay sinisimulan na ngayon sa halagang '75'. Pagkatapos, ipinapasok namin ang 'a' sa 'cout' upang makuha agad ang integer na halaga na ito nang walang dereferencing. Kinukuha nito ang halaga ng integer at ipinapakita ito dito.

Code 1:

#include
gamit ang namespace std;
int pangunahing ( ) {
int a = 75 ;
cout << 'Ang halaga na nakukuha namin nang walang dereferencing ay: ' << a << endl;
bumalik 0 ;
}

Output:

Ang halaga ng integer na nakuha mula sa aming C++ code nang walang dereferencing ay ipinakita dito. Ang halaga ng integer na ito ay agad na naa-access at ipinapakita dito.

Solusyon 2:

Ini-import namin ang 'iostream' na header file na naglalaman ng ilang mga kahulugan ng function. Dito, itina-type namin ang 'namespace std' at ang 'gamit' na keyword bago isagawa ang function na 'main()'. Ang halaga ng '75' ay itinalaga sa variable na 'a'.

Susunod, ipinapahayag namin ang isang pointer na tinatawag na 'mypointer' at sinisimulan ito gamit ang address ng variable na 'a' dito. Sa ilalim nito, inaalis namin ang sanggunian sa pointer at itinalaga ang halaga na nakukuha namin mula dito sa variable na 'resulta' habang sinisimulan namin ang 'resulta' gamit ang '*mypointer'. Pagkatapos i-dereferencing ang pointer, inilalagay namin ang command na 'cout' at ipinapasa ang variable na 'resulta' upang ipakita ang halaga ng integer.

Code 2:

#include
gamit ang namespace std;
int pangunahing ( ) {
int a = 75 ;
int * mypointer = at a;
int resulta = * mypointer;
cout << 'Ang halaga na nakukuha namin sa pamamagitan ng pagdereference sa pointer ay: ' << resulta << endl;
bumalik 0 ;
}

Output:

Ito ang wastong pamamaraan para ilapat ang dereferencing sa C++. Inire-render nito ang integer value na nakuha namin pagkatapos i-dereferencing ang pointer sa halip na i-dereferencing ang 'int'.

Konklusyon

Ginalugad namin na kapag sinubukan naming makuha ang value sa pamamagitan ng pagderefer sa 'int' sa C++, ang 'invalid type na parameter ng unary '*' na may int' na error ay magaganap na nangangahulugan na 'int cannot be dereferenced in C++'. Ipinaliwanag din namin ang solusyon sa error na ito. Ginamit namin ang code kung saan nangyari ang mga error at ang mga code kung saan ibinigay namin ang solusyon ng error na iyon sa gabay na ito.