É possível especializar um modelo usando uma enumeração de membro?

struct Bar {
  enum { Special = 4 };
};

template<class T, int K> struct Foo {};
template<class T> struct Foo<T,T::Special> {};

Uso:

Foo<Bar> aa;

falha ao compilar usando o gcc 4.1.2 Ele reclama do uso deT::Special para especilização parcial de Foo. E seSpecial era uma classe que a solução seria para um nome de tipo na frente dele. Existe algo equivalente para enumerações (ou números inteiros)?

questionAnswers(2)

yourAnswerToTheQuestion