标准草案在10.6.6第2项中说明了[[maybe_unused]]
“该属性可以应用于类的声明,typedef-name,变量,非静态数据成员,函数,枚举或枚举器。”
有没有理由从中排除静态数据成员?即。
struct Foo {
[[maybe_unused]] static inline int foo = 0;
};
我问,因为我有一个静态数据成员,其类型具有非常重要的构造函数,该构造函数执行有用的东西但是未使用。
答案 0 :(得分:1)
[basic] / 6表示任何对象声明都构成一个变量。 “非静态数据成员”与“变量”一起出现在列表中,因为 reference 类型的非静态数据成员不是变量。