gpt4 book ai didi

C++将方法指针数组作为参数传递给方法

转载 作者:行者123 更新时间:2023-11-28 00:21:02 24 4
gpt4 key购买 nike

我有以下类型定义:

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};

关于C++将方法指针数组作为参数传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27472038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com