このC++コードを見てください。
class Foo
{
int a;
public: Foo(int b): a(a) {}
};
明らかに、開発者はそれ自体ではなくで初期化a
することを意図しており、これはエラーを見つけるのがかなり難しいです。b
a
Clang ++は、追加の警告が有効になっている場合でも、GCCが警告しない間、この起こりうる間違いについて警告します。
$ clang++ -c init.cpp
init.cpp:5:27: warning: field is uninitialized when used here [-Wuninitialized]
public: Foo(int b): a(a) {}
^
$ g++ -Wall -Wuninitialized -Winit-self -c init.cpp
$
g ++で同じ出力を有効にする可能性はありますか?