int main(){
int i = 0;
int *p = 123;
return 0;
}
錯(cuò)誤消息是:invalid conversion from 'int' to 'int*' [-fpermissive] int *p = 123;
我知道int *p = &i;
可以實(shí)現(xiàn)這一點(diǎn),但是編譯器如何將&i
類型轉(zhuǎn)換為int *
類型(返回類型是&是什么)?
謝謝大家給我解釋!
int main(){
int i = 0;
int *p = 123;
return 0;
}
錯(cuò)誤消息是:invalid conversion from 'int' to 'int*' [-fpermissive] int *p = 123;
我知道int *p = &i;
可以實(shí)現(xiàn)這一點(diǎn),但是編譯器如何將&i
類型轉(zhuǎn)換為int *
類型(返回類型是&是什么)?
謝謝大家給我解釋!
公眾號(hào):1024技術(shù)圈
?? 提供互聯(lián)網(wǎng)知識(shí)和資訊,分享IT前沿技術(shù),熱門資源,大廠面試題 ??
參考文獻(xiàn):
所以,表達(dá)式
&i
的類型是int*
,其中i
是int
類型。注意,對(duì)于
& class :: member
形式的表達(dá)式,address-of運(yùn)算符可能為該類類型重載,并且對(duì)于可以從該重載運(yùn)算符返回的類型沒有任何約束。