From: Arkadiy Vertleyb (vertleyb_at_[hidden])
Date: 2005-04-20 21:39:50


"Jason Hise" <chaos_at_[hidden]> wrote

> The following specialization fails to compile on .NET 2002. Is there a
> good reason as to why, and if not, is there a suggested work around?
>
> template < typename T >
> class A
> {
> };
>
> template < typename T >
> class B
> {
> };
>
> template < typename T >
> class A < B < T > > // this is the specialization
> {
> };

I don't think VC7.0 supports partial template specialization.

The only workaround I know would be to use function template overloading.

template<class T>
void foo(const B<T>&); // this should compile

Depending on what you actually want to do, this may or may not help.

Regards,
Arkadiy