這是一個新手C++指針問題。我不知道爲什麼會發生這種情況......C++:int * j有什麼問題; * J = 50; ?
我發現如果我寫這段代碼。這完全有效。
代碼1
int *j; //create an pointer j
*j = 50; //assign 50 to the *j, meaning value pointed by address 50 is xxx
然而,當我想嘗試,使之更加簡單。編譯器給我這個錯誤信息。
代碼2
int *j = 50; //i guess this should be the same with Code1...
編譯錯誤
error: invalid conversion from ‘int*’ to ‘int’
那麼,爲什麼會是這樣呢?
代碼1不是完全有效的,它是完全未定義的行爲。 'j'是一個未初始化的指針。 –
那麼,我的意思是編譯時間 –