Должен ли следующий образец скомпилировать?
struct B;
struct A
{
A(B*&&){}
};
struct B : A
{
B() : A(this){}
};
int main(){}
На LWS с clang он компилируется, но с gcc я получаю:
нет известного преобразования для аргумента 1 из 'B * const' в 'B * &&'
и если я добавлю const
он скомпилируется.
Я хотел бы также указать, что MSVC тоже ошибается:
не может преобразовать параметр 2 из 'B * const' в 'B * &&'
поэтому похоже, что у нас есть ошибка в двух компиляторах.
ОШИБКИ