#include <iostream>
#include <string>
using namespace std;
string
crash()
{
}
int
noCrash()
{
}
int
main()
{
crash(); // crashes
// noCrash(); // doesn't crash
return 0;
}
功能崩潰(,崩潰,並MinGW的G ++ 4.6.2和功能noCrash()沒有問題執行。爲什麼函數返回字符串崩潰而沒有返回語句?函數返回的std :: string崩潰沒有return語句,不像它返回int的函數沒有return語句
我很驚訝它編譯。 –
你必須返回一些東西。 – 2012-06-19 07:13:02
@PaulMitchell:程序在語法和語義上都是有效的......即使它確實會導致_undefined behavior_如果它實際運行。 –