使用带有用户定义的类对象的对向量

时间:2015-03-07 23:02:38

标签: c++ class vector user-defined-types std-pair

我试图编写一个棋盘游戏程序(用C ++编写)。我有两个名为MoveBoard的课程。在我的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;
}

1 个答案:

答案 0 :(得分:2)

pair的模板参数应该只是类型。因此,vector<pair<char P, Move coord>>应为vector<pair<char, Move>>