Явные несоответствия функций-членов объекта между разными компиляторамиC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Явные несоответствия функций-членов объекта между разными компиляторами

Сообщение Anonymous »

Я написал следующую программу на C++23. Здесь я перегрузил функции-члены. Но во всех случаях разные компиляторы дают разные результаты, как показано ниже в комментарии. Как вы можете видеть, ниже у меня есть три случая. Демо.
struct C {
void j(this const C);
void j() const ; //#1: Clang:Nope while gcc and msvc:Ok

// void f(this C );
// void f(C); //#2: EDG: Nope while Clang,gcc and msvc:OK

// void k(this const C&);
// void k() const ; //#3: EDG: OK while Clang, gcc and msvc:Nope

};


Я хочу знать, каково стандартное соответствующее поведение для этих трех случаев.
#1 принимается gcc и msvc, но отклоняется clang, говоря:

:3:10: error: class member cannot be redeclared
3 | void j() const ; //#1: Clang:Nope while gcc and msvc:Ok
| ^
:2:10: note: previous declaration is here
2 | void j(this const C);
|


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

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

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

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

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

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

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