我正在为一个明确认为不是默认构造的类型编写测试驱动程序。有没有办法在我的测试驱动程序中声明这是这种情况?我可以通过编译错误手动验证,但我想要一些可以防止未来可能错误地添加默认构造函数的更改。
编辑:我陷入了使用C ++ 03的环境中。牢记这一点,除is_default_constructable
之外还有其他选择吗?
答案 0 :(得分:11)
您可以使用static_assert(!std::is_default_constructible<T>::value, "Boo");
。请务必#include <type_traits>
。