LINUX.ORG.RU

Ответ на: комментарий от aho

Пост не читал, но первый же коммент — явно правильный.

Miguel ★★★★★
()
Ответ на: комментарий от aho

this-> добавь

Кстати, а с чем связано такое поведение? Вроде бы проблем с областью видимости быть не должно. Или это gcc-specific?

anonymous
()
Ответ на: комментарий от shty

Да все непонятно ) Этож gcc поведение, другие компи сваривают

kdev
()
Ответ на: комментарий от kdev

Так и не понял утверждения: Since the definition of a dependent base class is not known at that time ...

Определение класса еще не известно на данный момент, Далее по тексту указана причина: «there may be specialisations of the base class template that have not yet been seen».

Deleted
()
Ответ на: комментарий от Deleted

Вы про это

#include <iostream>
using namespace std;
template<typename T> struct A
{
  void x() { cout << "A\n"; }
};
main()
{
  A<int> t;
  t.x();
}
template<> struct A<int>
{
  void x() { cout << "B\n"; }
};

kdev
()
Ответ на: комментарий от kdev

Скорее так:

#include <iostream>
using namespace std;
template<typename T> struct A
{
  void x() { cout << "A\n"; }
};
template<typename T> struct Z: public A<T>
{
  void y() {
    // This one works
    this->x();
    // g++ error: there are no arguments to ‘x’ that depend
    // on a template parameter, so a declaration of ‘x’ must be available
    //x();
  }
};
template<> struct A<int>
{
  void x() { cout << "B\n"; }
};
main()
{
  Z<int> t;
  t.y();
}
Deleted
()
Ответ на: комментарий от shty

похоже пора писать местный faq по С++ :)

Не поможет. C++ вообще уже ничто не поможет.

Deleted
()
Ответ на: комментарий от pinocchio964

Будет не будет ...
А что за пример?
полковник: я про тупую шутку чем отл: x(a++) от x(a); a++
полковник: у меня компилится Ваш пример

kdev
()
Ответ на: комментарий от anonymous

фейл.пнг
а для целочисленных встроенных типов - вообще ничем

gpg
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.