【发布时间】:2021-11-05 01:57:12
【问题描述】:
我正在研究 Arduino 并尝试更改数组的元素。在设置之前,我像这样初始化数组:
bool updateArea[5] = { false };
然后我想像这样更改数组:
updateArea[0] => false,
updateArea[1] => true,
updateArea[2] => false,
updateArea[3] => false,
updateArea[4] => true
通过使用:
memcpy(&updateArea[0], (bool []) {false, true, false, false, true}, 5);
但是,我得到“临时数组的获取地址”错误。
我也尝试在设置和循环函数中初始化数组,但得到了同样的错误。
【问题讨论】:
-
Arduino 不在 C 中。它在 C++ 中。
-
@KamilCuk,这在 C 语言中有什么不同吗?
-
@Juraj 是的,这段代码可以用 C 编译,但不能用 C++ 编译。
-
你的编译器是什么? “复合文字” 不是 临时变量,而是未命名的局部/全局变量。它是编译器错误吗?