如何将int转换为vector <int>?</int>

时间:2011-02-03 18:14:55

标签: c++

当我将int赋给vector时,我得到一个错误“conversion from 'int' to non-scalar type 'std::vector<int, std::allocator<int> >' requested”,我该怎么办? 我有矢量varr(4,-1);什么是正确的方法“ varr [2] = 3 ”?

4 个答案:

答案 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。