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;
}