const static objekte und default-ctor
-
hallo,
eine klasse soll ein konstantes, statisches element bekommen, dass über den standard-konstruktor initialisiert wird. allerdings scheint mein g++ 4.1.2 nicht den standard-ctor zu finden.
struct Bar {}; struct Foo { static const Bar b; }; const Bar Foo::b; // "error: uninitialized const 'Foo::b'" //const Bar Foo::b(); // geht auch nicht, wird als methode geparst int main() { Bar b = Foo::b; }was mache ich verkehrt? mit einem dummy-ctor und entsprechendem argument geht es (Bar(int) {}), aber das kann doch nicht sein!
danke im voraus
-
Konstante Variablen müssen stets explizit initialisiert werden.
const Bar Foo::b = Bar();