C ++ / CLI奇怪的继承问题

时间:2011-06-17 20:10:43

标签: visual-c++ inheritance c++-cli

我的项目中有3个班级(我们的名字是ABC)。 A是抽象的。他们有以下关系:
AB的基类 BC

的基类

C内,我声明了一个变量vector<A*> member_vector;。这导致了以下问题:

  

C3699:'*':无法在'A'类型上使用此间接   C4368:无法将'member_vector'定义为托管'C'的成员:不支持混合类型。

你有没有发现这个错误的线索?我认为循环类使用可能存在问题,但是,我该如何克服它呢?

2 个答案:

答案 0 :(得分:6)

问题是您尝试在C ++ / CLI中使用.NET Framework托管类中的本机类型std::vector。如果您不了解C ++ .NET,则不建议使用C ++ / CLI。

答案 1 :(得分:2)

你有两个问题正在发生。例如,您在类中使用本机类型,这是一个托管类(C4368)。此外,鉴于管理(C3699),您需要使用'^'而不是'*'。