【发布时间】:2017-08-01 07:06:35
【问题描述】:
template <size_t size_x, size_t size_y>
int func(int(&grid)[size_x][size_y], int s_x, int x)
{
if (s_x == x)
return 0;
else {
cout << grid[s_x][0] << " " << x << endl;
s_x++;
return func(grid, s_x, x);
}
}
int main()
{
int T;
cin >> T;
while (T > 0) {
int M, N, x, y, s_x = 0, s_y = 0;
cin >> M >> N;
int grid[M][N] = {};
cin >> x >> y;
x--;
y--;
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
cin >> grid[i][j];
}
}
int time_r = func(grid, s_x, x);
cout << time << endl;
T--;
}
return 0;
}
我遇到的错误:
没有匹配函数调用‘func(int [M][N], int&, int&)’ int time_r=func(grid,s_x,x);
注意:候选:模板 int func(int (&)[size_x][size_y], int, int) int func(int (&grid)[size_x][size_y],int s_x, int x)
注意:模板参数扣除/替换失败:
注意:可变大小的数组类型“long int”不是有效的模板参数 int time_r=func(grid,s_x,x);
如何正确运行?
【问题讨论】: