当我尝试设置light.arr {0}时,使用结构时会给我一些错误:
struct info_obj
{
int arr[];
};
class device
{
private:
info_obj light;
public:
device() : light.arr{0} {}
...
正确的语法是什么?另外,如何使数组完全为空(不将for
循环中的每个值初始化为零)?
数组的维数不是通过初始化给出的;它是数组type的一部分。
这意味着:
确实,某些编译器(包括您的编译器)支持称为flexible array member
如果要具有运行时范围的数组,请改用std::vector
。
是,Arduino具有std::vector
。