模板定义中的模板特化:这是否支持所有编译器或标准用法?

时间:2010-05-19 10:51:40

标签: c++ templates template-specialization

这是在VS 2008上编译的,但它似乎是模板的非标准用法。

template <class T>
class Foo
{
public:
  void bar(Foo<int> arg)
  {
    // do some stuff here
  }

  // more code ...
};

是否存在问题,因为模板特化Foo<int>包含在其自己的模板类的定义中?

1 个答案:

答案 0 :(得分:4)

这不是真正的专业化 - 你只是说该函数采用类型Foo <int>的参数 - 函数本身是Foo类的成员这一事实并不重要。是的,这是合法的。