специализация шаблона с несколькими параметрами шаблона

Допустим, у меня есть следующее:

template<typename T, int X>
class foo 
{
public:
  void set(const T &t);
};

template<typename T, int X>
void foo::set<T, X>(const T &t)
{
  int s = X;
  // ...etc
}

Могу ли я специализировать тип функции 'T', но оставить 'X' в качестве параметра шаблона?

class bar;

template<int X>
void foo::set<bar, X>(const bar &t)
{
  int s = X;
  // ...etc
}

Возможно ли это?

5
задан MarkP 4 October 2011 в 04:36
поделиться