struct Bar {
enum { Special = 4 };
};
template<class T, int K> struct Foo {};
template<class T> struct Foo<T,T::Special> {};
Использование:
Foo<Bar> aa;
не удается скомпилировать с использованием gcc 4.1.2
Он жалуется на использование T::Special
для частичной спецификации Foo. Если Special
был классом, решение было бы перед ним. Есть ли что-то эквивалентное ему для перечислений (или целых чисел)?