Boost 自参考升压变型

Boost 自参考升压变型,boost,Boost,假设我有这样一个简单的类型定义: typedef boost::variant<int, double> Value; typedef boost::变量值; 但是,现在我想让这个变体也有一个自身的向量: typedef boost::variant<int, double, std::vector<Value>> Value; typedef boost::变量值; 由于定义变量时不知道值,因此无法编译。有什么建议吗?当然有 typedef boos

假设我有这样一个简单的类型定义:

typedef boost::variant<int, double> Value;
typedef boost::变量值;
但是,现在我想让这个变体也有一个自身的向量:

typedef boost::variant<int, double, std::vector<Value>> Value;
typedef boost::变量值;
由于定义变量时不知道值,因此无法编译。有什么建议吗?

当然有

typedef boost::make_recursive_variant<
       int,
       double,
       std::vector<boost::recursive_variant_> >::type Value;
typedef boost::使_递归_变量<
int,
加倍,
std::vector>::类型值;

在重读问题时,请参阅

下的文档,我注意到我遗漏了那里的
向量。调整了我的答案:)现在示例与文档中的完全匹配。