2016-10-19 12 views
0

この例では、存在しないオブジェクトのデコンストラクタと呼ばれます。 G ++バージョン5.3、-Werrorでコンパイル。強制的なC++コンパイラによる返り値のチェック

vector<vector<float>> segfault() 
{ 

} 

int main() 
{ 
    segfault(); 
    return 0; 
} 
+0

これは '-Werror'フラグでコンパイルされません。このフラグを指定しなければ、空でない戻り値のない関数は単にエラーではなく警告であるためです。 –

+2

'-Wall'は、return文がないことを警告します。 '-Werror'と組み合わせて、エラーとして扱われるので、コードはコンパイルされません。 –

+0

** - エラー=返品タイプ** 、ありがとうございます。 – biv

答えて

2

両方gccclangはオプション-Wreturn-typeを持っています。
-Wallを使用すると、暗黙的にオンになります。
コンパイラエラーにするには、-Werror=return-typeを使用します。

関連する問題