假设我在某个地方实例化了一个Game类型的对象,并且我有另一个名为Writer的类要保存在其中。

所以在Writer课上,我有...。

void gameWriter(Game g) {
  some wonderful logic here....

}


Game内部,我想调用gameWriter ...,所以我有一个像这样的方法(在Game内部)

void Game::saveGameDetails() {

    Writer w;
    w.gameWriter(this);  //this is where it fails...

}


如何使用当前使用的同一对象在gameWriter中调用Game

最佳答案

要在语法上正确,您需要使用:

w.gameWriter(*this);


我将进一步建议使用Game const&Game&作为gameWriter中的参数类型。

void gameWriter(Game const& g) { ... }


然后,您将节省创建Game副本的成本。

10-04 23:25