C++ 私有数据成员问题(可能是引用问题?)

C++ 私有数据成员问题(可能是引用问题?),c++,C++,我正忙着做游戏。我有几个cpp和hpp文件,但我会包括主要思想, 我想使用player方法move(),并使用地图表示的牌和地图表示的棋盘,但当我使用方法move时,通过移动我需要从方法“is_here”接收true,关键位置是下面代码中的枚举。这是主文件代码 int main(){ somenamespace::Board b; somenamespace::Player p(b, somenamespace::Place::SanFrancisco); p.take_card(somenam

我正忙着做游戏。我有几个cpp和hpp文件,但我会包括主要思想, 我想使用player方法
move()
,并使用地图表示的牌和地图表示的棋盘,但当我使用方法move时,通过移动我需要从方法“is_here”接收true,关键位置是下面代码中的枚举。这是主文件代码

int main(){
somenamespace::Board b;
somenamespace::Player p(b, somenamespace::Place::SanFrancisco);
p.take_card(somenamespace::Place::SanFrancisco);
p.move();
cout<<boolalpha<<endl;
cout << b.is_here()[Palce::SanFrancisco] << endl;
if(b.is_here()[Place::SanFrancisco]){
    cout << "all good"<<endl;
}
return 0;
现在是董事会:

public:
map<Place,bool>& getMap();
        .
        .
        .

   private:
      
            map<Place,bool> _player_present;
    };
公共:
map&getMap();
.
.
.
私人:
地图(玩家);;
};
这就是这里的方法:

 map<Place,bool>& Board::is_here(){
        return _player_present;
    }
map&Board::is_here(){
返回球员在场;
}
现在这已经很长了,但问题是如此根本,我不得不给你一个大的图景,球员没有移动,我不知道为什么,有人有想法吗?我必须用铿锵+++-9来完成这一点。
谢谢大家。(当然,所有文件都在“somenamespace”中)

如果没有一个。我的猜测是
Player
在其构造函数中传递了对
板的引用,但在其成员
\u板
中存储了该引用的副本,因此当您认为它是一个板时,您可能会看到两个不同的
public:
map<Place,bool>& getMap();
        .
        .
        .

   private:
      
            map<Place,bool> _player_present;
    };
 map<Place,bool>& Board::is_here(){
        return _player_present;
    }