【发布时间】:2021-10-07 07:17:40
【问题描述】:
如何解决这个问题:
template<class T>
struct ResultType
{
using type = std::conditional_t<std::is_class_v<T>, typename T::result_type, void>;
};
如果 T 不是类类型,它不可能返回 void,而是:
错误:‘int’不是类、结构或联合类型 24 |使用 type = std::conditional_tstd::is_class_v
;
所以我不需要尝试调用 false 表达式,但是如何调用呢?
【问题讨论】:
-
“所以我不需要尝试调用错误的表达式” -- 你的意思不是反过来吗?如果
T不是类类型,则失败应该在typename T::result_type;所以当条件为false时,您不希望评估 true expressIon
标签: c++ typetraits