Я написал следующую программу на 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
Мобильная версия