0

LinkedList の実装には 2 つのブランチがあります。マスターは、整数データ型のみを扱う単純なものです。_templates はテンプレートを使用して設計されており、あらゆるデータ型にサービスを提供します。

私のマスターブランチはこれで完全にコンパイルされます:

g++ -0 t1 main.cpp LinkedList.cpp Node.cpp

反対に、_templates ブランチを同じものでコンパイルしようとすると (このブランチでテンプレートを使用して実装を変更しました):

g++ -0 t1 main.cpp LinkedList.cpp Node.cpp

リンク エラーが表示されます。

undefined reference to `LinkedList<int>::LinkedList()'
undefined reference to `LinkedList<int>::~LinkedList()'

そして、完全に明確にするために、_templates ブランチの私のコンストラクター

template <class T>
LinkedList<T>::LinkedList() {

     head = 0;
     tail = 0;
}
4

1 に答える 1