Объявил функцию в которую нужно передать ссылку на матрицу 3х3
void GaussianSmoothing3_8bit(unsigned char *image, long X, long Y, unsigned char [3][3] *GM)
матрицу объявил так:
unsigned char Laplas1[3][3] ={ {0,-1, 0},
{-1,-4, -1},
{0,-1, 0}
};
Функцию вызываю так:
GaussianSmoothing3_8bit(Fingerprint_buf, FT_LINES_SIZE, FT_LINES_NUMBERS,(unsigned char *[3][3]) &Laplas1);
Получаю ошибку:
E2031 Cannot cast from 'unsigned char ( *)[3][3]' to 'unsigned char *[3][3]'
По ссылке нашел такое объявление:
void f(int array[][COLS]){
int x, y;
for(y=0; y < ROWS; y++)
for(x=0; x < COLS; x++)
array[y][x] = 1;
}
void main(){
int *ptr = (int *) malloc(sizeof(int) * ROWS * COLS);
f( (int (*) [COLS]) ptr);
}
Тоже не подходит.
Где я не доучился? ;-)