0
爲什麼我無法通過函數初始化具有預定義指針變量的引用變量?使用函數將參考變量初始化爲指針
int * f(int * p) {
return p;
}
int main(){
int s=10;
int *p=&s;
int *&ref1 = p; //no error given here
int *&ref2 = f(p); //gives error cannot initialize int * & with int * why??
}
你確定你想提出的「修復」而不看到'f'的實現嗎?你可能只是通過創建編譯器沒有捕獲的懸掛引用來創建下一個更糟糕的問題。 –
@DanielFrey我假設他正在返回'main'內創建的指針。 – 0x499602D2
你將如何獲得該指針?注意'f'的參數是該指針的一個*副本,所以你不能返回一個引用! –