Рассмотрим следующий пример:
struct T { };
struct S {
operator T();
};
S s;
T t = s;
[dcl.init] приведет нас к [over.match.copy], который найдет функцию преобразования operator T()
. Но мы сделали это в этот момент или нам нужно вызвать T(T&& rhs)
, привязывая rhs
к возврату operator T()
через [dcl.init.ref]? Существуют ли какие-либо различия в ответе на этот вопрос между С++ 11 и С++ 1z?