проблемы с использованием шаблона класса - PullRequest
0 голосов
/ 20 сентября 2010

Я создал шаблон, который содержит карту.когда я пытаюсь создать экземпляр этого шаблона, я сталкиваюсь с проблемой связи с конструктором и деструктором.также, когда я пытаюсь создать экземпляр в main, он пропускает строку во время отладки и даже не показывает его в списке localals.он не компилирует «базу данных базы данных»;если я не добавлю "()" после БД.(так я пытаюсь инициировать экземпляр в main).

код:

ч:

template <class keyVal,class searchVal, class T>  
class DataBase  
{  
private:  
    map<keyVal,pair<searchVal,T*>*> DB;  
public :  
    DataBase();  
    virtual ~DataBase();    
}; 

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()  
{}

спасибо

1 Ответ

5 голосов
/ 20 сентября 2010

Добавить реализацию шаблонных классов (и функций) прямо в заголовочный файл:

template <class keyVal,class searchVal, class T>  
class DataBase  
{  
private:  
    map<keyVal,pair<searchVal,T*>*> DB;
public :  
    DataBase() {};  
    virtual ~DataBase() {};    
}; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...