有没有办法测试默认构造函数不存在?

时间:2014-07-08 17:54:01

标签: c++ testing c++03

我正在为一个明确认为不是默认构造的类型编写测试驱动程序。有没有办法在我的测试驱动程序中声明这是这种情况?我可以通过编译错误手动验证,但我想要一些可以防止未来可能错误地添加默认构造函数的更改。

编辑:我陷入了使用C ++ 03的环境中。牢记这一点,除is_default_constructable之外还有其他选择吗?

1 个答案:

答案 0 :(得分:11)

您可以使用static_assert(!std::is_default_constructible<T>::value, "Boo");。请务必#include <type_traits>