関数でプレーヤーへのポインターを返そうとすると、「戻り値の型が関数の型と一致しません」というエラーが表示されます。コンパイラからのエラーは次のとおりです。
'&' : バインドされたメンバー関数式に対する不正な操作
CPlayer* CLevel::getPlayer()
{
return &player;
}
ヘッダー ファイルでは、これは次のように定義されています。
private:
CPlayer player(Point p, CGame* game);
public:
CPlayer* getPlayer();
このエラーが発生する理由と、それを削除する方法についてのアイデアはありますか?
編集:
レベル コンストラクター:
CLevel::CLevel()
{
Point p;
this->game=game;
p.x=0;
p.y=0;
player(Point p, CGame* game) {};
memset(tiles, GROUND, sizeof(TileType)*GRID_HEIGHT*GRID_WIDTH);
}
Player.cpp コンストラクター:
CPlayer::CPlayer(Point pos, CGame* game)
{
this->game=game;
Point p;
p.x=0;
p.y=0;
setPosition(p);
}