gpt4 book ai didi

c++ - 带有函数指针的数组构造函数?

转载 作者:行者123 更新时间:2023-11-28 05:21:32 25 4
gpt4 key购买 nike

我正在尝试创建一个任务列表,该列表应该稍后在主循环()中的任务调度程序中使用。我尝试使用构造函数,但编译器抛出错误 could not covert '{doKeypad,2000,0}' from '<brace-enclosed initializer list>' to 'Task'

struct Task{
void (*proc)(); // Process callback
unsigned long dly; // delay in ms
unsigned long mls = 0; // last run in millis()
};

Task task[] = { // This is much more readable
{doKeypad, 2000, 0}, // but it does not work :)
{doPower, 10, 0},
{doDallas, 800, 0},
{doLcd, 500, 0}
};

void doKeypad(){
// some code here...
}
// rest of code follows - doPower(), doDallas() ...

实现此目标的最简单方法是什么?我可以做一个函数来手动填充任务数组,但它看起来很难看,而且可读性不是很好。我见过一些类似的问题,但它们是关于类(class)的,对我来说太复杂了:/

最佳答案

哦,我知道了。错误在结构中:

struct Task{
void (*proc)();
unsigned long dly;
unsigned long mls = 0; // < There should not be = 0
};

删除它后,它可以正常编译。

关于c++ - 带有函数指针的数组构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41403974/

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