错误C2061,同时通过向量作为参数
问题描述:
我得到这个错误:错误C2061,同时通过向量作为参数
1>b:\projects\c++\wolvesisland\wolvesisland\wolvesisland\board.h(22): error C2061: syntax error : identifier 'vector'
,同时试图通过向量作为参数。
(这是关于函数移动())
代码:
Board.h
#pragma once
#include <vector>
enum field_state {is_wolfm, is_wolff, is_rabbit, is_bush, is_nobody};
struct state{
field_state field;
int number;
};
class Board
{
private:
state island[20][20];
public:
Board(void);
~Board(void);
void fill(int,int,int,int, vector<LivingForm*>*);
state get_island(int,int);
void set_state(int,int,field_state,int);
};
和Board.cpp函数声明:
void Board::fill(int rabbit,int wolfm,int wolff,int bush,vector <LivingForm*> *creatures)
答
vector
生活在std
命名空间中,所以你需要参考ut为std::vector
:
void fill(int,int,int,int, std::vector<LivingForm*>*);
// ^^^
您应该通过引用传递该向量并使其包含智能指针。 – chris