Ich habe ein Verständnisproblem für die Weffc++
Warnung.GCC -WeffC++ Warnung
main.cpp: In Konstruktor 'B :: B()': main.cpp: 13: 1: Warnung: 'B :: a' sollte in der Initialisierungsliste initialisiert werden [-WeffC++] B() {} ^
#include <iostream>
class A
{
public:
A() {}
~A() {}
void test() { std::cout << "Hello world\n"; }
};
class B
{
public:
B() {}
~B() {}
A a;
};
int main()
{
B b;
b.a.test();
return 1;
}
Wenn ich schreibe oder Initialisiererliste verwenden ich habe kein Problem.
A a = {};
Ich dachte, der Standardkonstruktor wird automatisch aufgerufen? Warum muss ich ihn explizit benutzen?