【发布时间】:2021-12-08 08:01:57
【问题描述】:
我有带模板的课程。我想为其中一个类方法添加模板条件。
这个想法是对于浮点类型,我希望单独的 passed 方法使用一些 epsilon 值来调用它。
有可能吗?我想要的例子:
template<typename ValueType>
class Comparator {
public:
...
bool passed(ValueType actualValue);
template<
typename ValueType,
typename = std::enable_if_t<
std::is_floating_point<std::remove_reference_t<ValueType>>::value
>
>
bool passed(ValueType actualValue, ValueType eps) { ... }
...
};
环境: Debian 11, C++14, gcc (Debian 10.2.1-6) 10.2.1 20210110
【问题讨论】:
-
你有错误的方法定义两个函数,然后在调用时使用 type_trait。