未定义对"游戏::p lay()"的引用

undefined reference to `Game::play()'

本文关键字:引用 游戏 未定义 lay      更新时间:2024-05-10

当我试图调用Game::play((成员函数时,我收到了以下错误消息,我一直在寻找可能的错误。但我找不到。

这是Game.h

#pragma once
#include <iostream>
class Game {
public:


void selectPlayer();
// Player* nextPlayer() const;
bool isRunning() const;
void play();
void announceWinner();
};

Game.cpp实现

#include "Game.h"
void Game::selectPlayer() {
}
bool Game::isRunning() const {
}
void Game::play() {
// while (isRunning()) {
//     board.display();

// }
//board.display();
std::cout << "hellon";
}
void Game::announceWinner() {
std::cout << "Game is overn";
}

main.cpp

#include <iostream>
#include "Game.h"
int main()  {
Game g;
g.play();

}

调用play((:undefined reference toGame::play(

乍一看,您的代码看起来还不错。我建议在.h文件中添加一个类构造函数:

#pragma once
#include <iostream>
class Game {
public:
Game(void);
...

还要确保您的main末尾仍然有return 0;