Visual Studio中LNK2001和LNK2019错误有什么区别?



在Visual Studio中,c++中臭名昭著的未解析符号错误有两个不同的错误编号:LNK2001和LNK2019。查看他们的文档,他们给出了广泛的列表,列出了常见的和一些更奇特的可能原因,顶部的一般解释是相同的。

那么,为什么明显相同的错误会有两个不同的错误号呢?有什么区别呢?

仔细观察,我发现LNK2019扩展了LNK2001与referenced in function '<function>'

所以,我假设Visual c++在可以使用有问题的符号确定函数时抛出LNK2019,否则会抛出LNK2001,而其他错误的原因是相同的。

在我的例子中,我收到了LNK2001,因为构造函数中有一个未解析的符号,这是可以理解的,因为构造函数不是可直接调用的元素函数。

最新更新