c++: шаблонный член класса в обычном классе
У меня есть некоторый шаблонный класс CExtractor<IExtractorData>, экземпляр которого я хочу передавать в качестве параметра другому классу CProgressManager, при этом данный класс будет работать с методами шаблонного класса и напрямую и явно никак с IExtractorData контактировать не будет.
Делаю следующим образом:
class CProgressManager
{
private:
template <class IExtractorData>
CExtractor<IExtractorData>* m_extractor;
public:
template <class IExtractorData>
CProgressManager(CExtractor<IExtractorData>* extractor);
};
template <class IExtractorData>
CProgressManager::CProgressManager(
CExtractor<IExtractorData>* extractor
)
{
m_extractor = extractor;
}
и получаю ошибку на строчке
CExtractor<IExtractorData>* m_extractor;
(active) E0786 member "CProgressManager::m_extractor" is not a valid class member template Error C3376 'CProgressManager::m_extractor': only static data member templates are allowed
подскажите как выйти из данной ситуации, чтобы не делать CProgressManager шаблонным и в явном виде при создании экземпляра данного класса не указывать какие именно данные IExtractorData будут использовать?