g++ 4.6.2 を使用して次のコードをコンパイルすると、「15:14: エラー: テンプレート パラメータ リストが少なすぎます」というメッセージが表示されます。
template <class T>
class A
{
public:
class B
{
public:
class C; //forward declaration
};
class D
{
//using B
};
class B::C // error here
{
//using D
};
//using B::C
};
/* works fine, but required into "A"
template <class T>
class A<T>::B::C
{
public:
};
*/
宣言の順序を変更せずに問題を解決するにはどうすればよいですか?