Разрешение перегрузки – совпадение посредством преобразования const считается точным совпадением? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Разрешение перегрузки – совпадение посредством преобразования const считается точным совпадением? [дубликат]

Сообщение Anonymous »

Код: Выделить всё

void f(int) {}

void f(const int&) {}

int main()
{
int i = 1;
f(i);
}
Мне поступает неоднозначный звонок, что я упускаю? Я использую GCC 11.2.0 с -std=c++11.
Я читаю C++ Primer 5-е издание, 6.6.1 Преобразования типов аргументов:

Конверсии ранжируются следующим образом:
  • Точное совпадение. Точное совпадение происходит, когда:
    • Типы аргумента и параметра идентичны.
    • Аргумент преобразуется из типа массива или функции в соответствующий тип указателя.
    • Константа верхнего уровня добавляется к аргументу или удаляется из него.
  • Сопоставление через константное преобразование.
Согласно книга f(int) должна иметь более высокий приоритет, поскольку она точно соответствует.

Подробнее здесь: https://stackoverflow.com/questions/786 ... exact-matc
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»