我试图编写一个棋盘游戏程序(用C ++编写)。我有两个名为Move
和Board
的课程。在我的Board
构造函数中,我使用的是pair<char, Move>
。它似乎无法识别类Move
,即使我在头文件中#include
。我收到错误消息:&#34;缺少&#39;,&#39;在标识符&#39; coord&#39;之前&#34;和&#34; &#39; COORD&#39; :未声明的标识符&#34;。这是我的代码:
Move.h:
#include <utility>
#include <vector>
using namespace std;
class Move{
private:
pair<int,int> coordinates;
public:
Move(int,int);
};
Move.cpp:
#include "Move.h"
Move::Move(int x, int y){
coordinates.first = x;
coordinates.second = y;
}
Board.h:
#include "Move.h"
class Board{
private:
vector<pair<char, Move> > board_state;
public:
Board(vector<pair<char, Move> >);
};
Board.cpp:
#include "Board.h"
Board::Board(vector<pair<char P, Move coord> > state){
board_state = state;
}
答案 0 :(得分:2)
pair
的模板参数应该只是类型。因此,vector<pair<char P, Move coord>>
应为vector<pair<char, Move>>
。