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