2015-04-01 2 views
0

Я начинаю программировать на c. Я пытаюсь ссылаться на следующие функции в указателе функции массива, как показано в массиве элементов processGrades 4. У меня возникли проблемы с получением массива классов 3 x 4, чтобы перейти к функциям. Я пытаюсь использовать указатели, но, похоже, я неправильно формирую указатель. Я был бы признателен за помощь или ссылку, чтобы помочь понять, как это сделать. Моя рекомендация очень проста.Указатель функции массива, ссылающийся на функцию с использованием многомерного массива

void minimum(int grades[][EXAMS], size_t pupils, size_t tests); 
void maximum(int grades[][EXAMS], size_t pupils, size_t tests); 
void average(int grades[][EXAMS], size_t pupils, size_t tests); 
void printArray(int grades[][EXAMS], size_t pupils, size_t tests); 

void(*processGrades[4])(int, size_t, size_t) = { printArray, minimum, maximum, average }; 

ответ

3

Первый тип аргумента указателя неверен. Вы должны изменить int на int[][EXAMS].

+0

это работало спасибо. –

1

Попробуйте

typedef void (*processGrades)(int[][MAX], size_t, size_t); 
+0

эта концепция также сработала. Благодаря! –

Смежные вопросы