下面的示例应该编译吗?
struct B;
struct A
{
A(B*&&){}
};
struct B : A
{
B() : A(this){}
};
int main(){}
在带有 clang 的LWS上它可以编译,但是使用 gcc 我得到:
没有已知的参数 1 从 'B* const' 到 'B*&&' 的转换
如果我添加一个const
它会编译。
我还想指出 MSVC 也弄错了:
无法将参数 2 从 'B *const' 转换为 'B *&&'
所以看起来我们在两个编译器中有一个错误。
提交的错误