Я работаю над проектом, в котором я использую два класса, Player и Board, у которых есть методы-прототипы в заголовочных файлах, определения в отдельных файлах .cpp, и оба они используются в файле main.cpp. При попытке передать массив пространств игровой доски, gameBoard [], в метод, board.taketurn (gameboard []), и я получаю сообщение об ошибке, «идентификатор» gameBoard «не определен».
Я новичок в c ++. Я многому научился в C, но у меня есть некоторые проблемы с классами.
class Board // Board Class in board.h
{
public:
void board();
int gameBoard[]; //declaration of gameboard[]
int takeTurn(int, int, string, int gameBoard[]); //method
prototype
static const int WIN_SPACE = 100;
private:
int spin(int, int, string);
static const int SPIN_MAX = 6;
static const int SPIN_MIN = 1;
};
//Method definition in board.cpp
int Board::takeTurn(int position, int prevPos, string playerName,
int gameBoard[WIN_SPACE])
{
cout<< "it is "<<playerName<<"'s turn. They are currently on space "
<<gameBoard[position]<<"."<<endl;
spin(position, prevPos, playerName);
return position, prevPos;
}
//code block containing call takeTurn, passing gameBoard[] as an arg
while(player[i].getCurPosition() != board.WIN_SPACE)
{
int posititon;
int prevPos;
cout << "Press Enter to Continue";
getchar();
board.takeTurn(player[i].getCurPosition(),
player[i].getPrevPosition(), player[i].getName(), board
*gameBoard[board.WIN_SPACE]); //function Call
//player[i].setCurPosition(position);
}
Я хочу, чтобы функция takeTurn могла принимать gameBoard в качестве аргумента, чтобы я мог установить положение player [i] в местоположение в массиве gameBoard [].