テンプレートクラスのテンプレートを宣言するにはどうすればよいですか?コードの下に以下を参照してください。それは、クラスを生成することができるようにテンプレートクラスのテンプレートを宣言する方法
File: A.h
class A
{
...
...
};
File: B.h
template <typename U>
class B
{
...
...
};
File C.h
template <class T>
class C
{
...
...
};
File C.cpp
//In this file I am able to write template declaration for class A(non-template class)
#include "A.h"
template C<A>; //this works fine.
How can I write the same for class B(which is a template class.)
#include "B.h"
template C<What should I write here for class B?>;
C++ 03のコンパイラはシフト演算子として ''を見る必要があることに注意してください.C++ 0x(たぶんC++ 11になる予定です)のコンパイラはここにスペースを必要としないことが必要です。 –
@Christopher - 私が使用しているコンパイラはそれほど厳密ではなく、その違いを文脈から整理しているようです。 –
ほとんどのコンパイラはデフォルトでは実際には標準に従っていません。それでも、これはC++ 03標準の非常によく知られている欠点なので、あなたのコンパイラが少なくともこの文書の仕様書に違反していることを文書で明示してくれることを祈っています。 (私はこの特定のケースでは大きな問題を抱えているわけではありません)。 –