我的项目中有3个班级(我们的名字是A
,B
和C
)。 A
是抽象的。他们有以下关系:
A
是B
的基类
B
是C
在C
内,我声明了一个变量vector<A*> member_vector;
。这导致了以下问题:
C3699:
'*'
:无法在'A'
类型上使用此间接 C4368:无法将'member_vector'
定义为托管'C'
的成员:不支持混合类型。
你有没有发现这个错误的线索?我认为循环类使用可能存在问题,但是,我该如何克服它呢?
答案 0 :(得分:6)
问题是您尝试在C ++ / CLI中使用.NET Framework托管类中的本机类型std::vector
。如果您不了解C ++ 和 .NET,则不建议使用C ++ / CLI。
答案 1 :(得分:2)
你有两个问题正在发生。例如,您在类中使用本机类型,这是一个托管类(C4368)。此外,鉴于管理(C3699),您需要使用'^'而不是'*'。