2016-11-06 4 views
-1

最近、C++でクラスを事前定義するスマートなショートカットが見つかりました。通常、私が書くでしょういくつかの複雑な構造を作成:今C++クラス内の未定義テンプレートを使用

class A; 
class B{ 
    A *a; 
}; 
... 
class A{ 

}; 

を、ショートカットのおかげで、私は書く:

class B{ 
    class A *a; 
}; 
class A{ 

}; 

私の質問 - どのように私はこのフォームに短い定義が同等にすることができます。

template<typename T> class A; 
class B{ 
    typename typedef A<class T> a; 
}; 

答えて

1

簡単な答えはできません。規則的なクラスに精巧な型指定子を使うと、それを暗黙的に前向きに宣言することによって、囲む名前空間に名前が導入されます。

テンプレートは、同じように動作するようには定義されていません。

+0

私はあなたが知りません誰かを待つつもりはありません:) –

+0

@CheshireCat、あなたはC + +の標準を自分で読むことは自由です。答えは変わりません。 – StoryTeller

関連する問題