Шаблон + зависимое имя - PullRequest
       4

Шаблон + зависимое имя

5 голосов
/ 10 сентября 2010

$ 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();
}

1 Ответ

5 голосов
/ 10 сентября 2010

Я думаю, что это известная ошибка в GCC.Согласно сообщению об ошибке, ваш пример терпит неудачу в GCC 4.4.0.Я думаю, это просто означает, что он не был протестирован на более новой версии - не то, что это было исправлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...