【发布时间】:2022-11-24 05:18:45
【问题描述】:
我有一个带有我想弃用的静态字段的结构。但是,现在我仍然想初始化它。以下 sn-p 在 MSVC 和 GCC(但不是 Clang)下产生警告:
struct A {
~A();
};
struct B {
[[deprecated]] static A X;
};
A B::X; //warning C4996: 'B::X': was declared deprecated
有趣的是,如果我删除~A();,警告就会消失。
有没有办法在不产生警告的情况下初始化B::X,而不诉诸 hacky pragmas 之类的?
【问题讨论】:
标签: c++ visual-c++