模板类中模板方法的声明模板定义

时间:2009-05-20 05:01:41

标签: c++ templates

有没有人知道模板类中声明外模板方法的语法。

例如:

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()
{
}

我如何做第二个,“do_stuff”?

2 个答案:

答案 0 :(得分:29)

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

试试这个。

答案 1 :(得分:28)

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

参见本页:

http://msdn.microsoft.com/en-us/library/swta9c6e(VS.80).aspx