次のサンプルをコンパイルする必要がありますか?
struct B;
struct A
{
A(B*&&){}
};
struct B : A
{
B() : A(this){}
};
int main(){}
clangを使用したLWSではコンパイルされますが、gccを使用すると次のようになります。
'B*const'から'B*&&'への引数1の既知の変換はありません
追加するconst
とコンパイルされます。
また、MSVCも間違っていることを指摘したいと思います。
パラメータ2を「B*const」から「B*&&」に変換できません
したがって、2つのコンパイラにバグがあるようです。
バグが提出されました