链接隐式转换运算符

Pup*_*ppy 3 c++ implicit-conversion c++11

我有一个类,我需要隐式转换为一些东西,中间值,例如

struct outer {
    struct inner {
        operator T() { return T(); }
    };
    operator inner() { return inner(); }
};
Run Code Online (Sandbox Code Playgroud)

如果我有这种结构,它总是有效的,例如

void f(T t);
outer o;
f(o);
Run Code Online (Sandbox Code Playgroud)

Xeo*_*Xeo 9

§13.3.3.1.2 [over.ics.user] p1

用户定义的转换序列包括初始标准转换序列,然后是用户定义的转换(12.3),后跟第二个标准转换序列.

注意单词"sequence"的单数和缺失.在隐式转换序列期间,将只考虑一个用户定义的转换.