我有一个多态问题。
void func(std::vector< BaseClass* > A){}
std::vector< SubClass* > B;
func(B); //Compile error C2664
我收到这样的错误:
error C2664 'func' : cannot convert parameter from 'std::vector<_Ty>' to 'std::vector<_Ty>' with
[
_Ty=B *
]
and
[
_Ty=A *
]
我还尝试了一些奇怪的东西,比如让参数成为指向向量的指针,然后像这样传递向量的地址:
void func(std::vector< BaseClass* > *A){}
std::vector< SubClass* > B;
func(&B); //same error