0

Q3BSP地図情報デバッガを作ろうとしています。

テクスチャ デバッガーの部分で行き詰まっています。これはその部分で使用されるコードです。

for( i = 0; i < nTextures; i++ ) {
    printf( "Texture id %d\n", i );
    printf( "\tTexture name %s\n", Texture[i].name );
    printf( "\tTexture flags %d\n", Texture[i].flags );
    printf( "\tTexture contents %d\n", Texture[i].contents );
}

しかし、このようなエラーが表示されるようです:

エラー C2676: バイナリ '[' : 'Q3BSPTexture' は、この演算子または事前定義された演算子に受け入れられる型への変換を定義していません

Q3BSPTexture 構造は次のとおりです。

typedef struct {
    char        name[64];      // Texture name. 
    int         flags;         // Surface flags.
    int         contents;      // Surface contents
} Q3BSPTexture;

構造体に char [32]のように制限が設定されていないのではないかと疑っています。

しかし、私は専門家からの解決策を聞くのが好きです!

4

1 に答える 1

3

の定義を示していませんTexture

Textureの配列として扱っていますQ2BSPTezture。どうやらそれは単一のQ2BSPTeztureオブジェクトであるため、インデックスを作成しても意味がありません。おそらく、それを配列として宣言するか、割り当てる必要がある配列の最初の要素へのポインターとして宣言する必要があるだけです。

また、エラー メッセージは、C ではなく C++ をコンパイルしていることを意味します (C では、型で演算子を定義することはできません)。

于 2012-07-25T18:12:19.350 に答える