1

つまり、ビットマップが動き回り、衝突すると「戦う」フォームを作成することです。ビットマップは VBot に保存され、子ボットに継承されます。子ボットは、ポインターの配列を構築したボットを追跡します。VBot と BotContainer は .h と .cpp ファイルですが、Bot を追跡するために Form.h でプライベート BotContainer を作成しようとすると、エラー メッセージが表示されます。

エラー 1 エラー C4368: 'VList' をマネージド 'Prog3::Form1' のメンバーとして定義できません: 混合型はサポートされていません c:\users\duerst\documents\visual studio 2010\projects\prog 3\prog 3\Form1. h 65 1 プログラム 3

これを修正するにはどうすればよいですか?

4

1 に答える 1

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;
    }
};
于 2012-10-25T03:39:23.643 に答える