Meine Klasse Test
hat einen const
static
Member eines Subtyps. Normalerweise definiere ich dieses const
static
Element wie folgt.Wie definiere ich statisches const Mitglied?
class Test
{
public:
class Dummy {};
private:
static Dummy const dummy;
};
Test::Dummy const Test::dummy; // ERROR HERE
int main()
{
return 0;
}
Beim Kompilieren dieser Quelle mit gcc-4.6 gibt es keinen Fehler und kompiliert korrekt.
Wenn diese gleiche Quelle mit gcc-4.4 kompiliert, gibt es folgende Fehlermeldung: error: uninitialized const ‘Test::dummy’
auf der markierten Linie.
- Gibt es eine andere Möglichkeit, diese statische konstante Elementvariable zu definieren?
- Ist dies eine Einschränkung von gcc-4.4?
- Gibt es einen Workaround?
'Test :: Dummy const Test :: Dummy = Test :: Dummy (); ' – dasblinkenlight