使用boost :: assign :: list_of和boost :: variant

时间:2013-01-28 14:23:00

标签: c++ boost c++98

假设:

typedef boost::variant<std::vector<int8>, std::vector<std::string> > Container;

如何将c初始化为一个班轮?

std::vector<std::string> v = boost::assign::list_of<std::string>("stringValue");
Container c(v);

1 个答案:

答案 0 :(得分:1)

这应该做 - 明确地将list_of结果转换为您希望变量存储的类型:

Container c(vector<string>(list_of<string>("stringValue")));

甚至更好 - 使用C ++ 11:

Container c{ vector<string> {"stringValue1", "stringValue2"}};