我正在使用与内置矢量类型一起创建的对象。当我将变量设置为成员函数中的参数时,编译器将抛出错误,抱怨变量的类型。我不确定为什么编译器通过突出显示它们将它们识别为对象,所以我不确定错误是什么。
#pragma once
#include "board.h"
#include "player.h"
#include "humanPlayer.h"
#include <vector>
class Game {
private:
int winner;
int X;
int Y;
bool** playerShip;
bool** computerShip;
public:
Game(int x, int y);
void startGame();
void WinScreen();
void LossScreen();
void ByeScreen();
void gameSetUpE(Board& B, humanPlayer User);
void gameSetUpS(Board& B, humanPlayer User);
void gameSetUpH(Board& B, humanPlayer User);
int playGame(Board& B, humanPlayer P1, Player P2);
char anotherGame();
void endGame(int num, Board& B);
void setWinner(int play) { winner = play; };
void setRecords(Board& B);
int getWinner() { return winner; };
bool getUserRecordVal(int row, int col);
bool getCompRecordVal(int row, int col);
int getRecordX() { }
void endGame(vector<Game> &list);
};
要弄清楚为什么humanPlayer会引发编译错误,我们需要该头文件中的代码。我假设您将类humanPlayer放在一个命名空间中,在这种情况下,您需要输入以下内容:namespace_name::humanPlayer User
。
'vector'令牌引发错误,因为vector在命名空间std中。因此它需要看起来像这样:std::vector &list