在 C 中使用模板时,其中代码在头文件 (H) 和源文件 (CPP) 之间拆分,您可以在链接过程中遇到“无法解析的外部符号”错误。出现这种情况是因为模板仅在使用时实例化。使用时,编译器需要完整的函数定义才能生成正确的代码。
在这种情况下,函数的代码位于模板的源文件中,在程序源编译期间无法访问该源文件。编译器假定该函数是在其他地方定义的,并且仅插入函数调用。但是,模板的源文件不包含程序源中使用的特定模板类型,导致无法解析外部符号。
要解决此问题,请考虑以下选项:
通过在程序源代码期间为编译器提供对完整模板函数代码的访问编译时,这些解决方案有效解决了“无法解析的外部符号”错误。
以上是为什么 C 模板会出现'无法解析的外部符号”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!