|
Boost : |
From: Csaba Szepesvari (szepes_at_[hidden])
Date: 2000-10-19 09:54:02
> I'm going to assume now that you're using MSVC, which won't compile the
> above. Trying to think of a workaround... um... I dunno! Anyone else got
> some bright ideas? The best kind of solution would be only included for
> MSVC, and written so no code would have to change when/if MSVC fully
> supports member templates. For anyone who has MSVC out there, how does
> their std::auto_ptr handle this?
>
> -Steve
Even in MSVC (VC6.4), you can have member templates of templates if those are
implemented inline (this also held for VC5.3)
E.g. this compiles and runs:
struct B
{
B() : i(0), j(1) {};
int i;
int j;
};
struct D : public B
{
D() : k(2) {};
int k;
};
template <typename T1>
struct A
{
template<typename T2> f( T2 t2 ) { t1 = T1(t2); };
template<typename T2> g( A<T2> a ) { t1 = T1(a.t1); };
T1 t1;
};
void main()
{
A<B> a1;
A<D> a2;
a2.t1.i=3;
a1.f( D() );
a1.g( a2 );
}
Am I talking rubbish??
- Csaba
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk