0

NewTree.h で定義されている NewTree クラスがあります。メイン メソッドで NewTree の新しいインスタンスを作成すると、LNK 2019 エラーがスローされます。

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)" (??0?$NewTree@V?$xml_node@D@rapidxml@@@@QAE@XZ) referenced in function _main
4

1 に答える 1

1

テンプレートクラスは、ヘッダーファイルに実装する必要があります。これが問題の原因だと思います。これは、あなたが提供したコードから私が結論付けることができる唯一のことです。

于 2013-03-03T22:06:48.447 に答える