我正在尝试使用类构造函数填充类的向量,但我收到编译错误:
1> c:\ users \ admin \ documents \ visual studio 2010 \项目\ file_io_and_main_argv \ file_io_and_main_argv \ file_io_argv.cpp(121): 错误C2663:'std :: vector< _Ty> :: push_back':2个重载没有合法性 'this'指针的转换
我在C ++的Class Player主程序中使用的代码是:
const vector<Player> players; // vector list of players
players.push_back(Player(ID,pname,WINS,LOSSES,POSX,POSY)); //insert player into vector of players
错误在点“。”玩家和push_back之间。
答案 0 :(得分:3)
您的players
向量被声明为const
:
const vector<Player> players;
const
意味着:常数。你无法改变它。不能push_back()
,不能erase()
向量中的现有元素,无法做任何改变向量内容的事情。
从声明中删除const
关键字。
答案 1 :(得分:2)
您无法修改const
向量。移除const
const vector<Player> players;