Специализация шаблона в определении шаблона: это поддерживается для всех компиляторов или стандартное использование? - PullRequest
2 голосов
/ 19 мая 2010

Это скомпилировано на VS 2008, но похоже на нестандартное использование шаблонов.

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

  // more code ...
};

Есть ли проблема, так как специализация шаблона Foo<int> содержится в определении его собственного класса шаблона

1 Ответ

4 голосов
/ 19 мая 2010

Это не совсем специализация - вы просто говорите, что функция принимает параметр типа Foo <int> - тот факт, что функция сама является членом класса Foo, на самом деле не важен.И да, это законно.

...