2013-03-03 4 views
0

У меня есть класс NewTree, который был определен в NewTree.h. Когда я делаю новый экземпляр NewTree в моем основном методе, он выдает ошибку LNK 2019.LNK 2019 Ошибка C++

NewTree.h:

template <class T> 
class NewTree 
{ 
public: 

treeNode<T> *current; 
treeNode<T> *root; 

NewTree(); 
~NewTree(); 
bool insert(T *data, treeNode<T> *parent); 
treeNode<T> search(T *target); 
}; 

линии, чтобы сделать новый экземпляр NewTree:

NewTree<xml_node<>> *tree = new NewTree<xml_node<>>(); 

Почему Visual Studio дает мне ошибку LNK?

Полная Ошибка:

main.obj : error LNK2019: unresolved external symbol "public: __thiscall NewTree<class rapidxml::xml_node<char> >::NewTree<class rapidxml::xml_node<char> >(void)" ([email protected][email protected]@[email protected]@@@[email protected]) referenced in function _main 
+0

Вы можете предоставить полную ошибку? –

ответ

1

Ваш класс шаблон должен быть implemented in the header file. Я думаю, что это и есть причина проблемы. Это единственное, что я могу заключить из кода, который вы предоставили.

+0

Я думаю, что вы правы, с той ошибкой, которую он добавил; конструктор не определен. –

Смежные вопросы