質問

(私はVisual C++2008)私がメイン() 必要 返還整数ではなかったけ return 0; および統0誤差0警告!のデバッグ画面で"というプログラムの終了コード0になります。この機能はその名の以外のものmain()のコンパイラの警告"でゃならないと戻り値の型関数が値を返す.こだわり、 return; も原因のエラーが表示されます。かなしい統だけます。

#include <iostream>
using namespace std;

int main()
{
    cout << "Hey look I'm supposed to return an int but I'm not gonna!\n";
}

これってバグVC++?

役に立ちましたか?

解決

3.6.1主な機能

....

2実装はpredefineの main 機能です。この機能は過負荷状態で運転されています。では、戻り値の型のタイプ int, がその種類は実装で定義されています。すべての実装は、必要に応じ複雑で手間のかかるのは、以下の定義のメイン:

int main() { /* ... */ }

int main(int argc, char* argv[]) {
/* ... */
}

....なお続いており追加

5 returnmain の効果の主な機能を破壊し、anyオブジェクトの自動保存期間)の呼び出し exit の戻り値として引数に指定する。 場制御の終わりに達すると main ないとの出会いが戻り、その効果は、実のとき0を返します;

現在のオンラインコピーにはC++の標準この見通路 このブログポストが引用符のビットをしていた以上にやりやすかったです。

他のヒント

これは、java-C#-C++のコード生成。暗黙的に0を返しますが生成されるのであれば、明示的な戻り書ける。

してくださいVC++に挿すだけで、0を返しますんなど主要機能同じことが起こる可能性が機能すぎるが、その場合の少なくともだ警告が表示されます。

部6.6.3/2状態で"流れるオフの関数は戻りのない価値この結果は未定義の動作には値を返す。".

たとえば、以下のコードを親の時代を変革することを警告VS2010/g++

int f(){
   if(0){
      if(1)
         return true;
   }
}

int main(){
   f();
}

その点は必要なのは特別の対応において指摘しなければなりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top