想象一下,我有一个简单的类型定义:
typedef boost::variant<int, double> Value;
但是,现在我希望变体也拥有自己的矢量:
typedef boost::variant<int, double, std::vector<Value>> Value;
由于在定义变体时不知道值,因此无法编译。关于如何做到这一点的任何建议?
答案 0 :(得分:4)
不确定
typedef boost::make_recursive_variant<
int,
double,
std::vector<boost::recursive_variant_> >::type Value;
下的文档