如果您有一个std::variant
具有重复类型的,您如何分配给它?std::variant
看似允许重复类型。
std::variant<int,int> foo;
编译成功,但我不确定如何分配给foo
,如果我想分配给变体中的特定条目,就更是如此。
我尝试过:
std::variant<int,int> foo;
foo = 1;
编译失败,错误=
为未定义的std::variant<int,int>
。
std::variant<int,int> foo;
get<foo, 0> = 1;
编译失败,错误为缺乏足够的上下文类型信息来确定类型。
我想要类似的东西
std::variant<int,int> foo;
something<foo, 1> = 10
assert(foo.index == 1);
assert(get<1>(foo) == 10);