请注意,这不是 How write a unit test for verifying compiling error? 的拷贝因为我不关心测试外部库或编译器本身的正确性。
在 C++ 中,特别是在处理模板时,通常会采用防止某些特定代码段被编译的技术。由于这些可能会令人费解,那么确保特定代码段确实会产生编译器错误的最佳方法是什么?
由于测试甚至不应该被编译,你不能依赖诸如 boost-test 之类的东西。 ,所以我猜它应该集成在构建系统中?这些问题通常是如何处理的?
最佳答案
以编写编译器测试的类似方式进行。您将使用某种脚本语言(shell、perl、tcl 等)进行一些测试代码,这些代码将在给定的代码片段上运行编译器,并检查是否编译了正确的代码,而正确的代码没有编译。
关于c++ - 如何对模板代码的故意编译错误进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7282350/