我无法将名为“sales”的2D数组传递给函数。知道我做错了什么吗?我有C ++作为在线课程,我的老师没有帮助:(我得到的错误信息是:
没有重载函数的实例“getTotal”匹配参数 列表以及“COLS”:未声明的标识符
getTotal函数 不带2个参数“
~/Scripts/MyDirectives
答案 0 :(得分:0)
首先,您在COLS
定义之前使用// Global Variables
const int ROWS = 4;
const int COLS = 4;//this is defined here
int getTotal(int[][COLS]);//now the compiler knows what COLS is
并且无法执行此操作,因此您可以先尝试使用它来修复它:
getTotal
第二个你的total = getTotal(sales, 4);
函数,正如你的编译器正确指出的那样,只接受一个参数,但你在ROW
传递了两个。我相信你试图将行大小作为第二个参数传递,但是在你的情况下没有必要这样做,因为你的所有函数都可以看到ROWS
定义是一个全局变量(事实上你正在使用{{ 1}} getTotal
函数内部。
total = getTotal(sales); //this is enough to call the function
您还应该注意,不需要将任何参数传递给getTotal
函数,因为数组被声明为全局,但我不建议您在代码中广泛使用全局变量。
int getTotal();//function prototype without parameters since sales array is global variable
total = getTotal(); //call the function
您可能还需要重新审视getTotal
内部代码的逻辑,因为当前实现(如定义与两个循环计数器相同的变量count
)将导致意外结果。