我试图让这个简单的c ++程序工作,但我一直在从错误到错误的反弹。
这是代码:
#include <iostream>
using namespace std;
const int row = 3;
const int col = 3;
int array[row][col];
void print(int array[row][col]){
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
cout << array[i][j];
}
}
}
void setValues(int (&array), int value){
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
array[i][j] = value; //invalid types 'int[int]' for array subscript
}
}
}
int main() {
setValues(array, 30); //Expected primary-expression before ',' token + Invalid Arguments 'Candidates are: void setValue(int &, int)
print(array); //expected primary=expression before ')' token
return 0;
}
我想用函数更改2D数组中的值。
答案 0 :(得分:0)
typedef int array[row][col];
您在此处所做的是为int
创建一个名为array[row][col]
的别名。只需删除typedef
,就可以了。
修改:忘记了其他错误
void setValues(int (&array)[row][col], int value)
它也像这样工作
void setValues(int array[row][col], int value)