所以我有两个变体(我缩短了它们,它们有更多的类型):
std::variant<int *, double *> PtrVariant;
std::variant<int, double> ValueVariant;
字符串
我想在它们之间复制价值。
这不起作用:
ValueVariant = *PtrVariant;
型
这是有效的:
if (std::holds_alternative<int>(ValueVariant))
ValueVariant = *std::get<int *>(PtrVariant);
else if (std::holds_alternative<double>(ValueVariant))
ValueVariant = *std::get<double *>(PtrVariant);
型
有没有一种方法可以在它们之间复制值,而不检查变量持有什么类型?
1条答案
按热度按时间fzwojiic1#
使用
std::visit
执行分派:字符串