C++使用类模板时,按照通用的.h文件与.cpp文件分开方式会报“无法解析的外部符号”错误,其根本原因在于编译器针对类模板不支持分离编译(利用VC助手产生函数实现时,也会自动加到.h文件而非.cpp文件)。
针对此问题,解决方案有:
- 将函数申明和实现全部写在.h文件中;
- 如果非要.h文件与.cpp文件分开,则可在使用类模板的文件中,同时包含类模板的.h文件和.cpp文件
#include "MyVector.h"
#include "MyVector.cpp"
C++使用类模板时,按.h与.cpp文件分开的通用方式会报“无法解析的外部符号”错误,原因是编译器针对类模板不支持分离编译。解决方案一是将函数申明和实现全写在.h文件中;二是若要分开,在使用类模板的文件中同时包含.h和.cpp文件。
C++使用类模板时,按照通用的.h文件与.cpp文件分开方式会报“无法解析的外部符号”错误,其根本原因在于编译器针对类模板不支持分离编译(利用VC助手产生函数实现时,也会自动加到.h文件而非.cpp文件)。
针对此问题,解决方案有:
#include "MyVector.h"
#include "MyVector.cpp"
5万+

被折叠的 条评论
为什么被折叠?
