2009-05-20 11 views
13

テンプレートクラス内の宣言外テンプレートメソッドの構文を知っている人はいませんか?例えばテンプレートクラス内のテンプレートメソッド用の宣言テンプレート定義がありません

template<class TYPE> 
class thing 
{ 
public : 
    void do_very_little(); 

    template<class INNER_TYPE> 
    INNER_TYPE do_stuff(); 
}; 

最初のメソッドが定義されている:

template<class TYPE> 
void thing<TYPE>::do_very_little() 
{ 
} 

私は2つ目の "do_stuff" をどのように行うのですか?

+0

あなたはメンバーフィールドとしてdo_stuff宣言することを意味していましたか?あなたが実際にメソッドを宣言することを意図していると仮定すると、その引数は何ですか? – outis

+0

クラス宣言でdo_stuffの後ろに角かっこを入れる必要があります –

答えて

29
template<class TYPE> 
template<class INNER_TYPE> 
INNER_TYPE thing<TYPE>::do_stuff() 
{ 
    return INNER_TYPE(); 
} 

これを試してください。

+1

私を数秒で叩いてください!よくやった:-) –

+2

ハハ、私たちは同じコードを与えました:-) – CMinus

+0

投票された両方のu。歓声:) –

関連する問題