c++ - 从 'int'类型的返回值到函数返回类型( vector )没有可行的转换

标签 c++ function vector compiler-errors return

我正在尝试hackerrank问题,他们说要给出输出为“打印两个用空格分隔的整数,分别描述最佳(最高)分数增加和最差(最低)分数减少的次数。”现在,每当我尝试仅给出cout时,都会引发错误,提示“非void函数不返回值”。现在通常情况下,在这种情况下,我通常给return 0,但这里的意思是“从'int'类型的返回值到函数返回类型没有可行的转换。”我真的不知道如何在 vector 函数中返回int,或者简单地说,如何将答案返回给编译器。
这是我的功能

vector<int> breakingRecords(vector<int> scores) {
    int min=0,max=0;
    int maxUpdate=0;
    int minUpdate=0;
    for(int i=0;i<scores.size();i++)
    {
        if(i==0)
        {
            min=max=scores[0];
            break;
        }
        if(scores[i]>scores[i-1])
        {
            max=scores[i];
            maxUpdate++;
        }
        else if(scores[i]<scores[i-1])
        {
            min=scores[i];
            minUpdate++;
        }
    }
    return 0;
}
注意:如果我的逻辑有任何错误,请不要更正。我想自己找出逻辑错误,只是帮助我运行代码。

最佳答案

问题在于您将函数设置为返回对象的 vector 类型,因此返回0或不返回任何内容是 Not Acceptable 。您基本上在这里有3个选择:

  • 将您的函数设置为void类型-那么您只能“cout”并且很不错,或者
    甚至什么都没有。
  • 返回“分数”本身,而不在函数
  • 之外实际使用它
  • 将函数设置为int类型-必要时返回0。

  • 祝好运!

    关于c++ - 从 'int'类型的返回值到函数返回类型( vector )没有可行的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64866457/

    相关文章:

    c++ - STL 中的自定义分配器是否只分配实际数据?

    javascript - 在初始化另一个函数或动画之前如何确保动画完成?

    c++ - C++ 中对 class::function 的另一个 undefined reference

    sql - 函数与存储过程

    c++ - 在 Vector C++ 中查找最后定义的元素

    matrix - Julia : How to fill a matrix row by row in julia

    c++ - CoInitializeSecurity 在禁用 clr 选项时失败

    c++ - c++中与位移相关的一行代码的解释

    c++ - 头文件和库文件有什么区别?

    c++ - 数组下标的无效类型 ‘<unresolved overloaded function type>[int]’ - C++