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

标签 c++ testing c++03

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

编辑:我被困在 C++03 的环境中。记住这一点,除了 is_default_constructable 之外还有其他选择吗?

最佳答案

您可以使用 static_assert(!std::is_default_constructible<T>::value, "Boo"); .确保 #include <type_traits> .

关于c++ - 有没有办法测试默认构造函数不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24638532/

相关文章:

c++ - OpenCV C++ 的 SVM 对同一类图像返回相同的置信度分数

c++ - 类的多态性和封装

testing - 如何在 Flutter 小部件中测试回调函数

c++ - 如何断言一个值是否在枚举范围内

c++ - 尝试将 C++11 代码转换为 C++03 时默认函数模板参数出错

C++ 重载 |返回常量值的(按位或)运算符

c++ - 为什么我的代码只读取文件的最后一行?

testing - 如何访问同一测试套件中另一个测试用例的测试步骤请求

testing - 线程组循环计数,当组中的所有线程都完成时它是否有效?

C++ "Floating Point Enum"