Я хочу передать двумерный константный массив, используя двойной указатель, но получаю ошибку компилятора.
const unsigned char sizex=2;
const unsigned char sizey=5;
const unsigned char arr[sizex][sizey] ={
{1,2,3,4,5},
{6,7,8,9,10}};
void foo (const unsigned char **a, const unsigned char x, const unsigned char y) {
int i,j;
for(i=0;i<x;i++) {
for(j=0;j<y;j++) {
Serial.println(a[i][j]);
}
}
}
void main() {
foo(arr,sizex,sizey);
}
Ошибка
не может преобразовать 'const unsigned char (*)[5] 'to' const unsigned char ** 'для аргумента' 1 'to' void foo (const unsigned char **, unsigned char, unsigned char) '
void foo (const unsigned char a,[][5] const unsigned char x, const unsigned char y)
работает, ноЯ не хочу вводить код [5] в код.
Есть предложения, что можно сделать, чтобы это исправить?