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

What is the difference between LNK2001 and LNK2019 errors in Visual Studio?

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

那么,为什么看似相同的错误却有两个不同的错误编号?有什么区别?

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

因此,我假设 Visual C++ 在可以使用相关符号确定函数时抛出 LNK2019,否则抛出 LNK2001,否则错误原因相同。

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