用异构boost::融合向量类型数据填充std::vector

Filling up std::vector with heterogeneous boost::fusion vector type data

本文关键字:填充 数据 std vector 类型 向量 异构 boost 融合      更新时间:2023-10-16

我是boost和元编程的新手,所以我的问题是:

typedef fusion::vector<int, char, double, std::string>  my_row;
typedef std::vector<my_row> my_vec;
my_row my_data = my_row(3,"f",2,"2");
my_vec t;
t.push_back(my_data); // this doesn't compile and gives error <C2039>

对于大多数人来说,这可能是一个非常愚蠢的问题,但为什么不编译呢?我是否需要以某种方式将my_row向量转换为可以存储在普通std::向量中的东西?

还有人能给我指一本关于元编程和boost的很好的入门书吗?这样我就可以了解boost的使用背后的思想以及一些使用boost的编程示例了?

我真的认为在线手册网站完全是垃圾。至少对于那些对C++和STL并不完全陌生,但在"struct"声明以及"::"answers"<>"的分数中迷失了方向的人来说,这看起来是如此使用。一般来说,对于一个新人来说,所有让boost难以使用和理解的东西。

"f"是字符串,而不是char。请改用'f'