当我将int赋给vector时,我得到一个错误“conversion from 'int' to non-scalar type 'std::vector<int, std::allocator<int> >' requested
”,我该怎么办?
我有矢量varr(4,-1);什么是正确的方法“ varr [2] = 3 ”?
答案 0 :(得分:5)
他们是两种不同的类型。如果您要将int
添加到vector<int>
,请执行以下操作:
std::vector<int> vec;
vec.push_back(10);
更新:要在向量中设置元素:
std::vector<int> vec(16, 0); // Create a 16 element vector containing all 0's
vec[4] = 10; // Sets the 5th element (0 based arrays) to 10
似乎有一个彻底的codeguru tutorial可能会引起人们的兴趣。
答案 1 :(得分:2)
向量是一组int。您不能将int分配给集合,而是使用push_back()函数将其添加到集合中:
std::vector<int> manyInts;
int oneInt = 42;
manyInts.push_back(oneInt);
答案 2 :(得分:1)
如果您要将int
添加到vector<int>
,则应使用push_back
:
vector<int> v;
int i = 5;
v.push_back(i);
答案 3 :(得分:-2)
你需要将int值添加到vector中,例如list,map。