<分区>
我有以下代码:
std::variant<A, B> foo();
std::variant<A, B, C> bar();
std::variant<A, B, C> foobar(bool a) {
if (a) {
return foo();
} else {
return bar();
}
}
但是,这不能在 gcc 上编译:
error: could not convert ‘foo()’ from ‘variant<A, B>’ to ‘variant<A,B,C>’.
有没有一种优雅的方式来转换std::variant<A, B>
进入std::variant<A, B, C>
?