shi*_*bar 0 c++ templates visual-studio-2010
我创建了一个包含地图的模板.当我尝试创建该模板的实例时,我遇到了构造函数和析构函数的链接问题.另外,当我尝试在main中创建一个实例时,它会在调试时跳过该行,甚至不会在本地列表中显示它.它不编译"DataBase db;" 除非我在db之后添加"()".(这是我尝试在main中启动实例的方式).
代码:
H:
template <class keyVal,class searchVal, class T>
class DataBase
{
private:
map<keyVal,pair<searchVal,T*>*> DB;
public :
DataBase();
virtual ~DataBase();
};
Run Code Online (Sandbox Code Playgroud)
CPP:
#include "DataBase.h"
template <class keyVal,class searchVal, class T>
DataBase<keyVal,searchVal,T>::DataBase()
{}
template <class keyVal,class searchVal, class T>
DataBase<keyVal,searchVal,T>::~DataBase()
{}
Run Code Online (Sandbox Code Playgroud)
谢谢
直接在头文件中添加模板类(和函数)的实现:
template <class keyVal,class searchVal, class T>
class DataBase
{
private:
map<keyVal,pair<searchVal,T*>*> DB;
public :
DataBase() {};
virtual ~DataBase() {};
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
157 次 |
最近记录: |