MSVC отклоняет программу с вызовом функции-члена, в то время как gcc и clang принимаютC++

Программы на C++. Форум разработчиков
Anonymous
MSVC отклоняет программу с вызовом функции-члена, в то время как gcc и clang принимают

Сообщение Anonymous »

Я написал следующую программу на C++23, которая компилируется с помощью gcc и clang, но отклоняется msvc. Я хочу знать, правильно ли это сформировано или плохо сформировано и т. д. в соответствии со стандартом. Живая демонстрация
struct C
{
void f(this C);

void b()
{
(C::f)(); //compiles in gcc and clang but msvc rejects
}
};

int main()
{
C c;
c.b();

}

MSVC говорит:
(7): error C2352: 'C::f': a call of a non-static member function requires an object
(3): note: see declaration of 'C::f'


Подробнее здесь: https://stackoverflow.com/questions/787 ... ang-accept

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