术语“一个可行的函数”在[expr.static.cast] / 4中引用了什么?

时间:2016-09-01 17:57:48

标签: c++ initialization language-lawyer c++17

[expr.static.cast]/4(重点是我的):

  

如果存在从e到T的隐式转换序列([over.best.ics]),或者如果有,则表达式e可以显式转换为类型T.   直接初始化([dcl.init])的重载决策   来自e的类型T的对象或引用将发现至少一个可行   功能([over.match.viable])。如果T是参考类型,则效果   与执行声明和初始化

相同      

T t(e);

     

对于一些发明的临时变量t([dcl.init])然后使用   作为转换结果的临时变量。否则,   结果对象是从e直接初始化的。 [注意:转换是   尝试将类类型的表达式转换为时,形式错误   无法访问或模糊的基类。 - 结束说明]

对于T类型的对象的重载分辨率,术语一个可行的功能是指类T的构造函数还是转换函数在类中,e是一个对象。

0 个答案:

没有答案