【发布时间】:2021-08-13 22:09:12
【问题描述】:
我试图通过选择类构造函数来推断一个 bool 模板参数。 一个简单的例子:
template <typename A, bool Condition>
class Subrange {
public:
Subrange(A a) requires (not Condition); /* create Subrange<A, false> */
Subrange(A a, int b) requires (Condition); /* create Subrange<A, true> */
};
这甚至可能吗,还是必须在构造函数上明确指定条件?
PS:条件不依赖A。
【问题讨论】:
-
这没有意义,
Subrange<A,false>有一个Subrange(A a, int b)构造函数,反之亦然 -
@al3c 你说得对,我已经编辑了代码
标签: c++ templates c++17 template-argument-deduction ctad