Спецификатор доступа к базовому методу - PullRequest
0 голосов
/ 26 июня 2018

В следующей полной программе:

#include <vector>

class Derived : private std::vector<int> {
public:
  void f();
};

void Derived::f() {
  Derived d;

  d.std::vector<int>::push_back(0);
}

int main() {
  Derived d;

  d.f();
}

линия

d.std::vector<int>::push_back(0);

можно заменить на

d.vector<int>::push_back(0);

и компиляция будет завершена без предупреждения как в gcc 7, так и в clang 6. Я не понимаю, почему часть std:: разрешения области действия является необязательной, поскольку нет объявления using namespace std.

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