Я пытаюсь дать массив как указатель на функцию, поскольку я хочу вернуть из нее массив. Проблема возникает при вызове функции. У меня есть следующий код:Векторный возврат от функции
void function(unsigned char p[4][4], unsigned char x, unsigned char* arr[4]) {
unsigned char result;
for (int ii=0;ii<4;ii++)
{
result= p[ii][1] - p[ii][2] + p[ii][0]*x + p[ii][3]*4;
*arr[ii]=result;
}
unsigned char function2(unsigned char p[4][4], unsigned char x, unsigned char y) {
unsigned char arr[4];
function(p, y, arr);
ret= function3(arr, x);
return ret;
}
Цель состоит в том, чтобы изменить значение вектора arr
в function
, для того, чтобы использовать его в function3
, который не имеет ничего общего с function
. Составитель говорит, что:
не может преобразовать «неподписанные символ *» до «неподписанные символ **» для аргумента «3» к «ничтожной функции (неподписанные символ (*) [4], неподписанные символ, неподписанные char **)
Любая помощь приветствуется!
Отлично! Это сработало! Хороший ответ, спасибо! @Unick – Kortatu