好的,我在Ideone上亂搞,不小心提交了這段代碼,但是令我驚訝的是,它實際上編譯並運行輸出0的值,here。爲什麼在Ideone上編譯?
#include <iostream>
using namespace std;
const int five()
{
const int i = 5;
}
int main() {
cout << five() << endl;
return 0;
}
然後我想這在Visual Studio中,並在Codepad但都無法編譯,因爲five()
沒有返回值,正如人們所期望的那樣。我的問題當然是,爲什麼這個編譯好在Ideone上,即使代碼,我的理解是錯誤的,不應該編譯。
您能否參考報價的來源? – 2012-07-15 20:23:01
@DesmondHume:標準。 – Xeo 2012-07-15 20:23:26
唯一一次定義明確的是'main' – 2012-07-15 20:24:26