这是在VS 2008上编译的,但它似乎是模板的非标准用法。
template <class T>
class Foo
{
public:
void bar(Foo<int> arg)
{
// do some stuff here
}
// more code ...
};
是否存在问题,因为模板特化Foo<int>
包含在其自己的模板类的定义中?
答案 0 :(得分:4)
这不是真正的专业化 - 你只是说该函数采用类型Foo <int>
的参数 - 函数本身是Foo类的成员这一事实并不重要。是的,这是合法的。