как автоматически избежать пути

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 был классом, решением было бы указать имя перед ним. Есть ли что-то эквивалентное этому для перечислений (или целых чисел)?

20
задан svick 28 July 2013 в 14:27
поделиться