先发制人地问这个问题,因为没有太多关于这个错误代码的信息。解决起来相当琐碎,但是由于没有给出适当的错误消息,因此花费了我很多时间进行诊断。
所以发生了什么事?
- 我在我的项目中添加了模板函数
- 现在当项目编译时,会弹出一条消息说
CL.exe
有问题需要关闭 - Visual Studio 中止编译
error MSB6006: "CL.exe" exited with code 1
问题是我的模板函数中的语法错误。谁能想到。
然而,这很难找到,因为这些都没有被报道。有关如何确定哪些功能有缺陷的信息,请参阅我的答案。
模板化的函数位于标头中包含的 .cpp 中,但是,在标头中完全定义它们并没有任何区别。
// foo.h
template <typename T>
void foo();
...
#include "foo.cpp"
// foo.cpp
template <typename T>
void foo()
{
...
}