【发布时间】:2019-07-10 20:30:38
【问题描述】:
给定一个std::variant<A,B,C> 类型的变量,我检查它确实不包含C。如何将其转换为std::variant<A,B>?
std::variant<A,B> convert(std::variant<A,B,C> value) {
if (std::holds_alternative<C>(value)) {
// die.
}
return ... // what to do here?
}
我知道如何使用here 所述的访问者进行相反的操作(转换为超集变体),但这种方法不适用于这种情况。
【问题讨论】:
标签: c++