É 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)?