Предупреждать о собственной инициализации члена класса -

Взгляните на этот фрагмент кода 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++?

5
задан Fabian Knorr 19 August 2012 в 11:15
поделиться