Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 设置一个类';对象放入另一个类';方法_C++_Oop_Pointers_Googletest_Getter Setter - Fatal编程技术网

C++ 设置一个类';对象放入另一个类';方法

C++ 设置一个类';对象放入另一个类';方法,c++,oop,pointers,googletest,getter-setter,C++,Oop,Pointers,Googletest,Getter Setter,我必须根据GT测试用例编写我的方法: TEST(playerTest, setGameTest) { Player p; Game g; p.setGame(&g); EXPECT_EQ(&g, p.getGame()); } 现在Player.h有以下内容: Game* game; void setGame(Game* g); Game getGame(); Player.cpp void Player::setGame(Game* g)

我必须根据GT测试用例编写我的方法:

TEST(playerTest, setGameTest) {

    Player p;
    Game g;
    p.setGame(&g);
    EXPECT_EQ(&g, p.getGame());
}
现在Player.h有以下内容:

Game* game;

void setGame(Game* g);
Game getGame();
Player.cpp

void Player::setGame(Game* g) {
    this->game =  g;
}


int Player::getGame() {
    return this->game;
}

但是,由于指针类型不兼容,这些类型不适用于测试。如果我能在解决方案中得到一些解释,我将不胜感激。

您的setter和getter没有正确的签名

void Player::setGame(Game* g)
{
    game = g;
}

Game* Player::getGame() const
{
    return game;
}

吸气剂不起作用。即使更改定义
Game getGame()
游戏*getGame()
注意,我在方法的末尾添加了
const
。因此,新签名是
Game*getGame()const