私はしばらくの間、C++ でゲームを開発するために allegro 5 ライブラリを使用してきました。今日、奇妙なエラーが発生しました:
というクラスがありlevel
ます。というヘッダーファイルがありますlevelhandler
。外観は次のとおりです。
#pragma once
#include "level.h"
level level_1;
level *currentlevel;
void initialize_levels()
{
currentlevel = &level_1;
}
コンパイルしようとすると、次のような奇妙なエラーが発生します。
error C2086: 'int level' redefinition
error C2143: syntax error : missing ; before 'level_1'
以前はコンパイルできたことを覚えており、何度も使用currentlevel->Player.X
しましたが、今ではそれがたくさんあり、次のようなエラーが発生します。
error C2227: left of '->Player' must point to a class/struct/generic type
error C4430: missing type specifier - int assumed
コメントからヘッダーを貼り付けました
#pragma once
#include "entity.h"
// some more includes
class level {
public:
enum Tileset { ... };
enum Tile { ... };
int tiles[200][200];
player Player;
level(void);
~level(void);
};