Как определить статический член const?

Мой Testкласс имеет conststaticчлен подтипа. Я обычно определяю этот член conststaticследующим образом.

class Test 
{
public:
    class Dummy {};

private:
    static Dummy const dummy;

};

Test::Dummy const Test::dummy;             // ERROR HERE

int main() 
{
    return 0;
}

При компиляции этого исходного кода с помощью gcc-4.6 он не выдает ошибок и компилируется корректно.

При компиляции этого же исходного кода с помощью gcc-4.4 выдается следующая ошибка: ошибка: неинициализированная константа ‘Test::dummy’ на отмеченной линии.

  • Есть ли другой способ определить эту статическую константную переменную-член?
  • Является ли это ограничением gcc-4.4?
  • Есть ли обходной путь?
7
задан Didier Trosset 31 May 2012 в 13:16
поделиться