2012-10-25 75 views
1

所以我在做什麼是創建一個位圖移動和當他們碰撞他們「戰鬥」的形式。位圖保存一個VBot並繼承到子機器人,以跟蹤機器人構建的指針數組。 VBot和BotContainer是.h和.cpp文件,但是當我嘗試在Form.h中創建一個私有BotContainer以跟蹤機器人時,它會給我提供錯誤消息託管類型混合類型不受支持Visual C++

錯誤1錯誤C4368:無法定義'VList'作爲託管'Prog3 :: Form1'的成員:混合類型不支持c:\ users \ duerst \ documents \ visual studio 2010 \ projects \ prog 3 \ prog 3 \ Form1.h 65 1 Prog 3

什麼我能解決這個問題嗎?

回答

1

你正在做的事情是這樣的:

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; 
    } 
}; 
相關問題