所以我有以下课程:
class A {}
class B : public A {}
class C : public B {}
当我尝试执行以下操作时,出现错误:
vector<C*> v1; //already instantiated with a vector of pointers to C.
vector<A*>* v2 = &v1;
错误 C2440:“正在初始化”:无法转换为
'std::vector<_Ty> *'
指向'std::vector<_Ty> *'
的类型不相关;转换
需要reinterpret_cast
、C 风格转换或函数风格转换
如果C
是 的后代A
,为什么会发生这种情况?