Przypisanie tego wskaźnika do odwołania do wartości rvalue do wskaźnika

Czy należy skompilować następującą próbkę?

struct B;
struct A
{
  A(B*&&){}
};

struct B : A
{
  B() : A(this){}
};

int main(){}

NaLWS z klangiem się kompiluje, ale z gcc otrzymuję:

brak znanej konwersji dla argumentu 1 z „B * const” na „B * &&”

a jeśli dodamconst to się kompiluje.

Chciałbym również zwrócić uwagę, że MSVC też się myli:

nie można przekonwertować parametru 2 z „B * const” na „B * &&”

więc wygląda na to, że mamy błąd w dwóch kompilatorach.

USUNIĘTE BŁĘDY

Link błędu MSVC

Link błędu GCC

questionAnswers(2)

yourAnswerToTheQuestion