以下工作正常:为什么is_default_constructible <Class> ::值相同的类范围内的失败
struct X { }; // OK
static_assert(std::is_default_constructible<X>::value, "Error");
继断言失败编译:
struct X { static_assert(std::is_default_constructible<X>::value, "Error"); }; // Fails
为什么在类中的static_assert
失败?
端QN:是std::is_default_constructible
应该失败与private
构造函数的类的讨论:
std::is_default_constructible<T> error, if constructor is private
这种情况的解决方法是在该类的某个成员方法中包含此'static_assert'。标准还有没有参考?顺便说一下,*“未知界限数组”的含义是什么? - 为了完整起见,您也可以对“Side Qn”做出回应。 – iammilind
@iammilind更新了侧面问题的答案,还有一个未知边界的数组是当你不在括号内输入数字时 - >'char array [];'。大多数情况下,cppreference引用/重写了标准,但是,您应该始终检查原始来源的安全性,但现在我没有可访问的副本。 – Drax