当我试图在我的函数中返回一个指向玩家的指针时,我收到一个错误“返回类型与函数类型不匹配”。编译器的错误是:
'&' : 对绑定成员函数表达式的非法操作
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);
}