ありがとうございました。
あともう一つ質問なのですが、ロベールの本に、
「関数を実体化するには呼び出したところからその実装が見える必要があります。」
「つまり、関数テンプレートは宣言と実装をヘッダファイルとソースファイルに分離して
書くことはできず、すべてヘッダファイルで実装する必要があるのです。」
と書いてあります。
クラステンプレートについては同様の記述がないのですが、
クラステンプレートについても宣言と実装をヘッダファイルとソースファイルに分離して
書くことはできず、すべてヘッダファイルで実装する必要がありますか?