小编DC.*_*DC.的帖子

将子类转换为模板化父类时的C2664

我有一个模板化的父类,以及一个实现它的子类.

template< typename T1, typename T2>
class ParentClass{ . . . };

class ChildClass : public ParentClass<MyT1, MyT2> { . . . };

And I want to have a pointer which I can use polymorphically:

ParentClass<T1, T2>* ptr;
ptr = static_cast<ParentClass<MyT1, MyT2>* >(new ChildClass() );

无论我如何施展它,我总是得到一个具有相同表达式的C2664:

错误C2664:无法将参数1从'ParentClass <T1,T2>*'转换为'ParentClass <T1,T2>*'

如果父项是模板化的,即使模板中指定的类型相同,也不可能在继承的类型之间转换指针类型?

c++ inheritance templates pointers casting

2
推荐指数
1
解决办法
1265
查看次数

标签 统计

c++ ×1

casting ×1

inheritance ×1

pointers ×1

templates ×1