标准的多个部分表明,推导指南不能包含explicit-specifier,而只能在其前面具有显式关键字。
喜欢:
中演绎指南:
explicit opt 模板名称( parameter-declaration-clause )-> simple-template-id ;
请注意,该标准说:显式 opt 而不是explicit-specifier。
中explicit-specifier仅应在其类定义内的构造函数或转换函数的声明中使用; ...
但该标准还在over.match.class.deduct
中指出如果函数或函数模板是从具有deduction-guide的构造函数或explicit-specifier生成的,则每个这样的概念构造函数均被视为具有相同的explicit-specifier。
此引用暗示推导指南可以有一个explicit-specifier。
我看不出任何特殊的原因,为什么推导指南没有explicit-specifier。
是我对标准的理解还是标准本身的问题?
推论指南可以有一个explicit(bool)说明符吗?
答案 0 :(得分:33)
我没有看到为什么推理指南没有显式说明符的任何特殊原因。
我也不是。我似乎完全受到了监督(我是conditional explicit
的作者之一)。我将尝试提出一个核心问题。