问题描述
第一次来这里,到目前为止,我已经设法用谷歌解决了我的问题,但这次不是......
作为 Arduino 项目的一部分,我需要一个菜单对象(类成员)来显示(和编辑)从参数对象(不同的类成员)中获取的变量。目前我可以在菜单对象的初始化中使用参数对象变量并显示它。但是,如果我编辑菜单对象,它不会反映在参数对象中 - 我假设代码只是在初始化时将对象复制到内存中 - 是有道理的。我尝试过使用指针,但我缺乏理解,而且似乎发生了同样的事情。
这是一些简化的代码 - 请注意,目前我使用的是公共变量,为简单起见没有使用构造函数,这可能会改变
class Parameter {
public:
const char* plabel;
uint16_t value;
};
class SubMenu {
public:
const char* mlabel;
uint16_t valueShown;
};
Parameter parameter[] {
{"Para 1",123},{"Para 2",456}
};
Parameter *parameterP[] {parameter};
SubMenu mainMenu[] {
{"Menu item 1",parameterP[0]->value},{"Menu item 2",parameterP[1]->value}
};
void setup() {
// put your setup code here,to run once:
Serial.begin(9600);
Serial.println(mainMenu[0].valueShown);
mainMenu[0].valueShown++;
Serial.println(mainMenu[0].valueShown);
Serial.println(parameterP[0]->value);
}
void loop() {
// put your main code here,to run repeatedly:
}
你可以想象串行输出是:
123
124
123
如果有人可以帮助我使这段代码按预期工作(我猜是使用指针?),我将不胜感激。
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)