Я определил массив указателей на функции, инициализировать его непосредственно, и использовать его, например, так:Как назначить функцию PTR на массив функций PTRS (Arduino C++)
typedef void(*offFunction)(void);
offFunction offFunctionList[2] = {off_1, off_2};
:
offFunctionList[0]();
Поскольку I нужно динамически изменять функции, я попытался
offFunctionList[0] = off_1;
, но это дает мне сообщение об ошибке компилятора
'offFunctionList' does not name a type
только объяснения, которые я нашел для этого центра ошибок вокруг (лексической) видимости, но это не может быть проблемой, поскольку ошибка возникает, даже если присваивание является следующей операцией после объявления ...
Ошибка также появляется когда я копирую материал с this description of function pointers, поэтому я в недоумении.
Что случилось?
MCVE, пожалуйста. Что такое off_t? Где вызывается назначение? Etc ... – SergeyA
Я пробовал ваш код и, похоже, работает нормально, при условии, что off_1 и off_2 фактически определены, а назначение выполняется внутри функции. Можете ли вы привести полный пример? –
@GercoDries Большое спасибо за подсказку - я поставил задание в области определений - глупо меня! Вы хотите включить свой комментарий в ответ, чтобы его приняли? Благодарю, nobi – virtualnobi