$ 14.6.2 / 3 - "В определении шаблона класса или члена шаблона класса, если базовый класс шаблона класса зависит от параметра-шаблона, область действия базового класса не проверяется при неполном имениищите либо в точке определения шаблона класса, либо члена, либо во время создания шаблона класса или члена.Однако gcc (IdeOne) выдает двусмысленную ошибку.
Это ошибка в gcc?Comeau компилирует это отлично
template<class T, class U> struct A{
template<class A, class B> A f(B b){A a; return a;}
};
struct B{
double f(double d){return 0.0;}
};
template<class T, class U> struct D : A<T, U>, B{
void g(){f(0);}
};
int main(){
D<double, double> d;
d.g();
}