【发布时间】:2019-09-11 16:53:35
【问题描述】:
标准的多个部分表明演绎指南不能有explicit-specifier,而只能在其前面有一个显式关键字。
喜欢:
演绎指南:
explicitopttemplate-name (parameter-declaration-clause) -> simple-template-id ;
请注意,标准说:显式opt 而不是explicit-specifier。
explicit-specifier 只能在其类定义中的构造函数或转换函数的声明中使用; ...
但标准中也提到over.match.class.deduct
如果函数或函数模板是从具有explicit-specifier 的构造函数或deduction-guide 生成的,则每个这样的名义构造函数都被认为具有相同的explicit-specifier。
这句话暗示 deduction-guides 可以有一个explicit-specifier。
我看不出有什么特别的原因说明演绎指南不能有explicit-specifier。
问题在于我对标准的理解还是标准本身?
演绎指南可以有explicit(bool) 说明符吗?
【问题讨论】:
标签: c++ language-lawyer c++20