У меня есть базовый класс, производный от класса MFC CView и шаблонного класса, что-то вроде:
template<class TYPE>
class CMytViewT : public CView,public CMyTemplateClassT<TYPE>
{
DECLARE_DYNCREATE(CMyViewT<TYPE>)
private:
CMyViewT();
'
'
'
}
IMPLEMENT_DYNCREATE(CMyViewT<TYPE>, CView)
Теперь я предполагаю, что макросы MFC будут расстроены шаблонами,и я рассматриваю возможность удаления макросов динамического создания для этого класса и повторного введения его для каждой специализации шаблона.Например,
template<class TYPE>
class CMytViewT : public CView,public CMyTemplateClassT<TYPE>
{
public:
CMyViewT();
'
'
'
}
Class CMyView : public CMyViewT<CMyClass>
{
DECLARE_DYNCREATE(CMyView)
private:
CMyView();
}
IMPLEMENT_DYNCREATE(CMyView, CView)
Мне интересно, может ли это вызвать проблемы в будущем, как и во всех других реализациях, которые я видел, макросы были включены для всех промежуточных классов.Я не вижу этого, но я что-то пропустил?
Редактировать Посмотрев на ответ Мэтью Холдерса ниже, я нашел следующую статью microsoft connect ,в котором говорится, что поддержка IMPLEMENT_DYNAMIC_T была удалена из-за ошибки.