1. 程式人生 > >//warning C4508: 'main' : function should return a value; 'void' return type assumed 問題的解決

//warning C4508: 'main' : function should return a value; 'void' return type assumed 問題的解決

下圖為報錯區域
報錯區域
下圖是錯誤相關區域
相關區域

讓我們來翻譯下這處錯誤的意思

原文:warning C4508: ‘main’ : function should return a value; ‘void’ return type assumed
譯文:警告C4508:‘main’:函式應該返回一個值;'void’返回型別

我們可以注意到,這並不是報錯,而只是一處警告,所以我們其實完全可以將其忽略,但是,如果我們非要修改的話,應該怎麼改呢?

這也就是說,main 函式沒有進行值的返回,所以我們修改只需要將main函式結尾新增值的返回 return 0即可。

到此處該問題已經解決

不過還有一點沒有清楚:
void main()是不需要返回值的,而我們也知道void main其實是一種不規範的寫法,正確寫法應為
int main(void)或int main(int argc, char *argv[])
我們將int main(int argc, char *argv[])用其他形式替換:
1.使用void main 替換,當我們使用void main替換時,程式不報錯;
2.使用int main(void)替換,程式報錯。

所以我們得出,只有void main時可以無值得返回,而其他形式都需要有值的返回。