In a situation like this, why can't I access the base class member x
unqualified in the B1
case? Doesn't loook ambiguous to me…
template<class T>
struct A { T x; };
template<class T>
struct B1 : A<T> { T f() { return A<T>::x; } };
struct B2 : A<int> { int f() { return x; } };