跟随此链接
我做到了:
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')
找到了这个解决方案,但不知道如何解决…
编辑:该行触发了错误:
.attrs = attrs1,
是的,另一个struct
对象或另一个变量的内容永远不会被视为可以在static
对象的初始值设定项中使用的常量表达式。
但您的第一次初始化也是伪造的。也许你是说
static const struct attribute * const attrs1= &foo_attribute.attr;
所以你对第二个的初始化读起来像
static const struct attribute_group attr_group = {
.attrs = &foo_attribute.attr,
};