И добавление, и не добавление 'typename' к инициализации шаблонного статического члена приводит к ошибкам - PullRequest
1 голос
/ 29 апреля 2019

При инициализации шаблонного статического члена как добавление, так и не добавление 'typename' приводит к ошибкам. Я не уверен, где я не прав здесь. Ниже приведен полный минимальный пример:

myclass.h

template <typename T> class MyClass{
    public:    
        static T G;
};

Дело 1: myclass.cpp

#include "myclass.h" 

template<typename T> MyClass<T>::G = 25;

Выход 1:

error: need 'typename' before 'MyClass<T>::G' because 'MyClass<T>' is a dependent scope

Случай 2: myclass.cpp

#include "myclass.h" 

template<typename T> typename MyClass<T>::G = 25;

Выход 2:

error: expected unqualified-id before '=' token

Не могли бы вы помочь мне исправить это?

1 Ответ

3 голосов
/ 29 апреля 2019

Ничего особенного сказать, только:

template<typename T> T MyClass<T>::G = 25;

Вы можете видеть, как это работает здесь на колиру

...