LNK2019将函数移动到另一个头文件后未解析的外部符号

LNK2019 unresolved external symbol after moving functions to another header file

本文关键字:符号 外部 文件 函数 移动 另一个 LNK2019      更新时间:2023-10-16

我的一个头文件中有两个数组模板,一切都很好。然后我想,我最好在我的代码中加入一些迂腐的东西,所以我把它们都移到了另一个头文件中,主要是为了它们(对于另一个想要使用其中一个的函数)。然后,每次在其他头文件中使用这些模板中的函数时,我都会得到LNK2019错误。

由于在我把代码粘贴到其他地方之前一切都很好,我认为代码还可以,只是我缺乏理解。基本上,问题是:当我将函数移到另一个头文件时,为什么会出现链接器错误?

以下是我的一个错误示例:

错误LNK2019未解析的外部符号"public:char__thiscall C2DArray::Get(int,int)"(?Get@$C2DArray@D@@QAEDHH@Z)在函数"public:char__thiscall SGame::GetRecordOutput(int,int)"中引用(?GetRecordOutput@SGame@@QAEDHH@Z)Mastermind C:\Users\Master\Documents\Visual Studio 2015\Projects\Mastermind\Mastermind\Menu.obj 1

如果重要的话,我会使用Visual Studio 2015。

感谢您的回复。看来,我已经解决了我的问题。原因是类模板没有专门化(而且必须是)。我所要做的就是包括我想要的这些模板的类型。很抱歉在做更广泛的研究之前发布。

相关文章: