Перегруженные имена функций
Процесс поиска подходящей функции из множества перегруженных заключается в...
Приведенный в книге пункт [2] нужно заменить на:
Соответствие, достигаемое "продвижением" ("повышением в чине") интегральных типов (например, bool в int, char в int, short в int; § B.6.1), float в double.
Также следует отметить, что доступность функций-членов не влияет на процесс поиска подходящей функции, например: struct A { private: void f(int); public: void f(...); };
void g() { A a; a.f(1); // ошибка: выбирается A::f(int), использование // которой в g() запрещено }
Отсутствие данного правила породило бы тонкие ошибки, когда выбор подходящей функции зависел бы от места вызова: в функции-члене или в обычной функции.