Visual studio 2010 托管类型混合类型不受支持的Visual C++;
所以我所做的是创建一个位图移动的形式,当它们碰撞时,它们会“战斗”。位图保存在VBot中并继承到子机器人中,为了跟踪机器人,我构建了一个指针数组。VBot和BotContainer是.h和.cpp文件,但当我试图以.h格式创建专用BotContainer以跟踪机器人时,会显示错误消息 错误1错误C4368:无法将“VList”定义为托管“Prog3::Form1”的成员:不支持混合类型c:\users\duerst\documents\visual studio 2010\projects\prog 3\prog 3\Form1.h 65 1 prog 3Visual studio 2010 托管类型混合类型不受支持的Visual C++;,visual-studio-2010,visual-c++,Visual Studio 2010,Visual C++,所以我所做的是创建一个位图移动的形式,当它们碰撞时,它们会“战斗”。位图保存在VBot中并继承到子机器人中,为了跟踪机器人,我构建了一个指针数组。VBot和BotContainer是.h和.cpp文件,但当我试图以.h格式创建专用BotContainer以跟踪机器人时,会显示错误消息 错误1错误C4368:无法将“VList”定义为托管“Prog3::Form1”的成员:不支持混合类型c:\users\duerst\documents\visual studio 2010\projects\pr
我能做些什么来解决这个问题 您正在做这样的事情:
class BotContainer
{
...
};
public ref class Form1
{
private:
BotContainer VList;
...
};
这是非法的,因为托管类型不能有非托管类型的成员(反之亦然)。您需要使用指向BotContainer的指针,该指针在构造函数中实例化,在析构函数中删除:
public ref class Form1
{
private:
BotContainer* VList;
public:
Form1()
{
VList = new BotContainer();
...
}
~Form1()
{
delete VList;
}
};
你正在做这样的事情:
class BotContainer
{
...
};
public ref class Form1
{
private:
BotContainer VList;
...
};
这是非法的,因为托管类型不能有非托管类型的成员(反之亦然)。您需要使用指向BotContainer的指针,该指针在构造函数中实例化,在析构函数中删除:
public ref class Form1
{
private:
BotContainer* VList;
public:
Form1()
{
VList = new BotContainer();
...
}
~Form1()
{
delete VList;
}
};