繁体   English   中英

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

[英]how to convert int to vector<int>?

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

它们是两种不同的类型。 如果要向vector<int>添加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教程 ,您可能会感兴趣。

向量是整数的集合。 您不能将int分配给该集合,而是使用push_back()函数将其添加到该集合:

std::vector<int> manyInts;
int oneInt = 42;
manyInts.push_back(oneInt);

如果要将int添加到vector<int> ,则应使用push_back

vector<int> v;
int i = 5;
v.push_back(i);

您需要将int值添加到vector中,例如list,map。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM