template <typename Subclass> struct B1 {
int f1() { return (*reinterpret_cast<Subclass*>(this)).i_; }
};
template <typename Subclass> struct B2 {
int f2() { return (*reinterpret_cast<Subclass*>(this)).i_; }
};
template
<
template <class> class Baseclass1 = B1,
template <class> class Baseclass2 = B2
>
class Foo : public Baseclass1<Foo<> >, public Baseclass2<Foo<> >
{
public:
Foo() : i_(123) {}
int i_;
};
Почему в vc7 только функции первого шаблонного параметра (f1) находят адреса отктрытых членов (i_) класса Foo?
... << RSDN@Home 1.0 beta 6a >>