作业:c++函数的参数

Homework: Parameters for C++ function

本文关键字:参数 函数 c++ 作业      更新时间:2023-10-16

我目前正在自学c++,我很难得到正确的函数参数。

问题和我的截图是:

我的截图

目前为止我的代码是:

int countInRange(Vector<int> array, int min, int max){
    /*
        Actual code goes here......
    */
    return 0;   
}

现在编译器不接受Vector<int> array,并抛出这个错误:

no match for 'operator=' (operand types are 'Vector<int>' and '<brace-enclosed initializer list>') param0 = {28, 1, 17, 4, 41, 9, 59, 8, 31, 30, 25};

我明白这个问题是使用斯坦福标准库,但我不认为这是主要问题。

我将感谢任何帮助修复Vector<int> array部分。谢谢你!

谢谢大家的帮助!我理解标准库的"std::vector"可能与斯坦福图书馆的" vector"大写"V"不同:

http://stanford.edu/stepp/cppdoc Vector-class.html

我会尽量提供更多的信息来帮助大家。

"主要问题"是斯坦福标准库的使用,它没有为模板类Vector定义初始化列表构造函数。

可以使用std::vector,它有一个初始化列表构造函数

由于这是家庭作业,我不会帮你做,但我会给你一些指导。我相信你能理解;在一天结束的时候,你需要明白你最终会交付什么。

你的编译器错误告诉你,你不能初始化你的斯坦福向量实例在你试图把数字在那里;这样的方法是不可能的,你得另辟蹊径。

param0 = {28, 1, 17, 4, 41, 9, 59, 8, 31, 30, 25}; //not possible

这样,您将不得不使用其他方法来添加到Stanford Vector中。您可以调查:

  • 向量函数"add"answers"push_back"

  • 矢量初始化方法vector<t> name(values)

  • 矢量函数"insert"

或者,正如其他人建议的那样,您可以切换到std::vector而不是Stanford vector。但是,一定要确保符合你的作业要求

您可能没有正确地为Vector赋值。这对你有一点帮助。https://stackoverflow.com/a/3424937/1606281