[英]C++ passing array of pointers of methods to a method as argument
我有以下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};
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.