我有以下typedef:
typedef void (*Subs)(uint8_t button);
例如这个数组:
const Subs settings_sub[] = {Settings_SVA, BackToRoot};
const uint8_t settings_size = 2;
其中“ Settings_SVA,BackToRoot”是类型的方法:
void Method_name(uint8_t button){}
现在我的问题是另一种方法,该方法使用这些数组并简单地循环遍历它们:
void MoveThroughItems(uint8_t button, uint8_t counter, uint8_t limit, ??? subitems) {}
我不知道正确放置“ ???”的位置 用于子项,即上述数组。
当前,我使用Subs subitems []导致错误:
invalid conversion from 'void (* const*)(uint8_t)' to 'void (**)(uint8_t)
并使用“ void(* const *)(uint8_t)”作为类型会导致:
error: expected ',' or '...' before 'subitems'
error: 'subitems' was not declared in this scope
我几乎被困在这里,也许我错过了一些简单的事情?
您需要const
-const Subs subitems[]
因为您已定义const Subs settings_sub[] = {Settings_SVA, BackToRoot};
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句