我正在從命令行讀取輸入文件。basic_string :: _ S_construct null無效
int main(int argc, char **argv)
{
Scene myScene;
string filename = argv[1];
myScene = Parser(filename);
...
}
從另一個文件我使用解析器函數,這是declerated像這樣;
Scene Parser(string filename)
{
string line;
ifstream myfile (filename.c_str());
...
return scene;
}
我收到錯誤;終止在拋出'std :: logic_error'實例後調用 what():basic_string :: _ S_construct null無效
編程接收到的信號SIGABRT,中止。
我檢索了錯誤。我認爲這是因爲這些原因。但我找不到實際的原因。有誰能夠幫助我?
如果您事先沒有檢查argc> 1,那麼您絕對不能**說'argv [1]'。 –