intはint*に直接割り当てることはできません
693 ワード
c++でポインタ変数を定義する場合:
int *a; int *a = 0;
はすべて可能で、ポインタがメモリアドレスを指す変数であることを知っています.このような0 x 40234 bは理屈では16進数ですが、このような定義も可能です.int *a = 1;
はどうせ数ですね.実際には間違いです.エラーは:error: invalid conversion from 'int' to 'int*' [-fpermissive]
int *a = 1;
です.これはどういう意味ですか.intはint*
に割り当てられません.これは何ですか.intとint*
にはどんな違いがありますか.すべて整数ですね.どうして間違っていますか.いろいろ調べた結果、char b = 10;#
string b = 10;#
charもstringも文字ですね.でも、これではだめです.要するに、int*
とstringは直接値を割り当てることができません.なぜなら、それらはタイプだからです.何がタイプですか.例えば、class exp
のタイプをカスタマイズすると、exp b; exp b = 0;#
exp b = 1;#