У меня Visual Studio .NET 2003 проблема с шаблонами в C++:
- Код: Выделить всё
template <template <class, class> class trait, class sectp>
struct ValTrait2to1
{
template <class type>
struct Trait
{
enum{ Value = trait<type, sectp>::Value };
};
};
template <class t1, class t2>
struct AreSame
{
enum{ Value = 0 };
};
template <class t>
struct AreSame<t, t>
{
enum{ Value = 1 };
};
template <template <class> class tr>
int f()
{
return tr<int>::Value; //INTERNAL COMPILER ERROR
}
int main()
{
f<ValTrait2to1<AreSame, int>::Trait>();
}