如果我想将我的default
-ed默认构造函数声明为,则会收到Clang 3.8和GCC 5.3的编译器错误constexpr
。根据这个stackoverflow问题,它应该可以正常工作:
struct A
{
constexpr A() = default;
int x;
};
然而:
Error: defaulted definition of default constructor is not constexpr
你有什么线索到底是怎么回事吗?
就目前而言,x仍未初始化,因此无法在编译时构造该对象。
您需要初始化x:
struct A
{
constexpr A() = default;
int x = 1;
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句