此代碼在運行時失敗,而不是在編譯時。我不是C++的專家。 有什麼幫助嗎?C++匿名結構調用失敗
extern void fn();
int main(int argc, char** argv) {
fn();
}
void fn()
{
struct Foo{
string name;
}*foo;
foo->name="sleiman";
cout<<foo->name<<endl;
}
爲什麼此代碼在運行時失敗,爲什麼它會成功創建一個靜態實例?
void fn()
{
struct Foo{
string name;
}foo;
foo.name="sleiman";
cout<<foo.name<<endl;
}
新關鍵字不用於初始化指針 –
它是一種在堆棧上創建對象並返回指向該對象的指針的方法,它以某種方式初始化指針。 – DrYap
是的,但我的觀點是,問題不在於他需要初始化指針。問題是他需要實例化一個對象。你可以初始化指針爲null,他仍然會得到一個運行時錯誤。 –