遵循此link
我做了:
static const struct attribute const *attrs1= {
&foo_attribute.attr,
NULL,
};
static const struct attribute_group const attr_group = {
.attrs = attrs1,
};
但是得到这些错误:
error: initializer element is not constant
error: (near initialization for 'attr_group.attrs')
找到this解决方案,但不明白如何解决它......
修改 该行触发了错误:
.attrs = attrs1,
答案 0 :(得分:2)
是的,另一个struct
对象或另一个变量的内容永远不会被视为可以在static
对象的初始值设定项中使用的常量表达式。
但是你的第一次初始化也是假的。可能你的意思是
static const struct attribute * const attrs1= &foo_attribute.attr;
因此,您对第二个的初始化将读取类似
的内容static const struct attribute_group attr_group = {
.attrs = &foo_attribute.attr,
};