Я пытаюсь сохранить ссылку (я думаю, что это так) на обратный вызов для локального использования позже.Код, который я пробовал, показан ниже.
void (Port4Task)(uint8_t); // user function
void BumpInt_Init(void(*task)(uint8_t)){
Port4Task = task();
К сожалению, когда я пытаюсь это сделать, я получаю сообщение об ошибке «выражение должно быть изменяемым lvalue» и «слишком мало аргументов в вызове функции».Я также пытался,
uint8_t value;
void (Port4Task)(uint8_t); // user function
void BumpInt_Init(void(*task)(uint8_t)){
Port4Task = task(value);
Но я все еще получаю ошибку "выражение должно быть изменяемым lvalue".Если есть какие-либо предложения, объяснения или разъяснения относительно того, что я должен делать, что я делаю неправильно или как я могу делать что-то лучше, я был бы очень признателен за сообщение от сообщества.
Спасибо, Kas
Я также пытался
void (Port4Task)(); // user function
void BumpInt_Init(void(*task)(uint8_t)){
Port4Task = task;
И
void (Port4Task)(uint8_t); // user function
void BumpInt_Init(void(*task)(uint8_t)){
Port4Task = task;
Используя это, я все еще получаю ошибку lvalue, упомянутую выше.Это была моя первая попытка.