C++返回一个向量(将 int 转换为非标量类型)
C++ returning a vector (conversion of int to non-scalar type)
我正在尝试用从 -1 开始的整数填充向量,直到我的 size 参数的负数。例如:如果参数为 6,那么我希望向量有 6 个项目,从 -1 到 -6。哦,如果大小参数小于 1,我想返回一个空参数。
我收到"从'int'转换为非标量类型"错误消息。据我所知,这是很好的代码,但显然我无法弄清楚。任何帮助,不胜感激。
#include <iostream>
#include <vector>
int negativity(int size) {
std::vector<int> vect;
if (size < 1) {
return vect;
}
for (int i=-1; i > size; i--) {
vect.push_back(i);
}
return vect;
}
函数的返回类型是 int
,但你返回的是std::vector<int>
。
这应该可以纠正编译器错误。
#include <iostream>
#include <vector>
std::vector<int> negativity(int size) {
std::vector<int> vect;
if (size < 1) {
return vect;
}
for (int i=-1; i > size; i--) {
vect.push_back(i);
}
return vect;
}
/** other implementation;
- Usage of an argument to avoid duplication of copying object.
*/
size_t negativity(std::vector<int>& vResult, const unsigned int uiHowmany)
{
vResult.clear();
for(unsigned int i=1; i < uiHowmany; ++i)
{
vResult.push_back((-1)*i);
}
return vResult.size();
}
相关文章:
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 错误:请求从"常量字符 [5]"转换为非标量类型"字符串"
- 请求从"点*"转换为非标量类型"点"
- 转换为非标量误差是什么意思?我该如何解决?
- 错误:在 C++ 中从 'Counter' 转换为非标量类型'CountDn'
- 错误:请求从"Mstream"转换为非标量类型"std::string {aka std::basic_string<char>}"
- Arduino trim() 和 replace() 方法返回从 'void' 到非标量类型'String'请求的转换
- 从标准::未来<void>到非标量标准::未来<bool>引发的错误转换
- 复制初始化 - 从 'int' 类型转换为非标量类型
- 在 opencv 上将 vec 类型转换为标量类型
- 为矢量对象请求转换为非标量类型
- 错误:请求从 std::chrono::time_point 浮点数转换为非标量类型长整型
- 此错误的含义是什么:从 'char* [40] 转换为非标量类型 'std::string
- 如何将VDT的Pade Exp fast_ex()的双重版本的标量代码转换为SSE2?
- 如何修复错误:请求从"void"转换为非标量类型"std::vector<int>"
- 请求从非标量类型"node*"转换为标量类型 "node"
- 将标量乘以boost.units.quantity(自动类型转换问题?)
- 迭代器错误从非标量类型转换为非标量类型
- C++简单的矢量程序中从 int 类型转换为非标量类型
- KAuth API 代码行抛出一个错误,告诉我将常量字符*转换为非标量