C++将方法指针数组作为参数传递给方法
C++ passing array of pointers of methods to a method as argument
我有以下类型定义:
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 子项 [],这会导致错误:
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};
。
相关文章:
- 将成员函数指针作为参数传递给模板方法
- 在 C++ 中将非指定类型作为参数传递的最佳方法?
- 如何在方法中传递结构参数
- 如何将成员函数作为参数传递并在派生对象上执行方法列表
- 将带有模板化方法的类作为带有GCC的模板参数传递
- 将派生类作为参数传递给方法,该方法是具有智能指针的基类
- 将私有数据成员作为默认参数传递给该类的公共方法时出错
- 如何将提升回调作为参数传递给方法?
- 将方法作为模板化参数传递 C++11
- 最佳做法是在方法中传递参数
- 将 std::ofstream 对象作为参数传递给类方法
- 在构造函数上传递参数或在每个方法上传递参数
- 将给定的 vararg 参数传递给另一个函数的适当方法是什么?
- 将指针类方法作为参数传递给其他类方法C
- 基本C - 构造contaning对象引用,并将其作为方法参数传递
- JNI——可以将复杂类型作为本机方法参数传递
- OOP 设计 - 将类成员变量作为类中的方法参数传递
- C++将动态方法指针作为不同类的方法参数传递
- 如何将指向一个方法的指针作为另一个方法参数传递
- 将内联双数组作为方法参数传递