VC7.0 и частичная спецификация шаблонного класса
Неужели компилятор в VC7.0 до сих пор не поддерживает частичную спецификацию шаблонов? Или я где-то, что-то в настройках не включил?
Короче, как заставить компилиться вполне валидный код (из библиотеки "Loki", А.Александреску):
////////////////////////////////////////////////////////////////////////////////
// class template Select
// Selects one of two types based upon a boolean constant
// Invocation: Select<flag, T, U>::Result
// where:
// flag is a compile-time boolean constant
// T and U are types
// Result evaluates to T if flag is true, and to U otherwise.
////////////////////////////////////////////////////////////////////////////////
template <bool flag, typename T, typename U>
struct Select
{
typedef T Result;
};
template <typename T, typename U>
struct Select<false, T, U> //<<< Здесь вылазят ошибки C2065, C2687
{
typedef U Result;
};