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 time_r = FUNC(网格,s_x ,X);
注:候选:模板INT FUNC(INT(&)[size_x] [size_y],INT,INT) INT FUNC(INT(&网格)[size_x] [size_y],INT s_x,INT X)
注意:模板参数推导/置换失败:
注:可变大小的数组类型 '长整型' 不是一个有效的模板参数 INT time_r = FUNC(网格,s_x,X);
如何正确运行?