C++返回一个向量(int转换为非标量类型)

-1 c++ int scalar types vector

我试图填充一个以-1开头的整数向量,直到我的size参数的负数.例如:如果参数是6,那么我希望向量有6个项目,从-1到-6.哦,如果size参数小于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;
}
Run Code Online (Sandbox Code Playgroud)

Ash*_*hot 5

你的函数的返回类型是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;
}
Run Code Online (Sandbox Code Playgroud)