考虑这个例子:
struct T { };
struct S {
operator T();
};
S s;
T t = s;
Run Code Online (Sandbox Code Playgroud)
[dcl.init]会将我们带到[over.match.copy],它会找到转换函数operator T()
.但是我们在那时完成了,还是我们必须调用T(T&& rhs)
,绑定rhs
到operator T()
via [dcl.init.ref] 的返回?关于C++ 11和C++ 1z之间这个问题的答案有什么不同吗?