Компиляция программы с помощью g++ класса с удалёнными конструкторами
Почему этот код компилируется и работает на MacOS?
#include <iostream>
class A {
public:
A() = delete;
A(const A &) = delete;
A(A &&) = delete;
A &operator=(const A &) = delete;
A &operator=(A &&) = delete;
~A() = delete;
void k() { std::cout << "PUCK"; }
};
int main() {
A &b(b);
b.k();
return 0;
}
Компилирую на gcc 11.2.0. Clang 13.0.0 данный код не собирает.