Перегрузка родительской функции-члена без квалификатора ref дочерней функцией-членом с квалификатором ref в C++C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Перегрузка родительской функции-члена без квалификатора ref дочерней функцией-членом с квалификатором ref в C++

Сообщение Гость »


В C++ невозможно перегрузить в одном классе функцию-член с квалификатором ref функцией-членом без квалификатора ref. Но в то же время можно унаследовать одну функцию-член от родительского класса и перегрузить ее в дочернем классе, как в примере:

struct A { недействительный е() {} //void f() & {} //ошибка перегрузки везде }; структура Б: А { используя A::f; void f() & {} // везде ОК }; интервал основной() { Б б; б.ф(); // ок только в GCC } Только во время вызова f Clang жалуется, что вызов функции-члена 'f' неоднозначен. Но GCC принимает программу без ошибок, демо: https://gcc.godbolt.org/z/5zzbWcs97

Какой компилятор здесь?
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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