使用异构boost :: fusion矢量类型数据填充std :: vector

时间:2012-02-17 16:59:55

标签: c++ boost boost-fusion

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

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 :: vector中的东西?

还有人可以给我一本关于元编程和提升的好的入门书籍,这样我就能获得使用boost的一些编程示例背后的心态吗?

我真的认为在线手册网站绝对是垃圾。至少对于那些对C ++和STL来说并不是全新的人来说看起来如此,但是在“结构”声明和“::”和“&lt;&gt;”的分数中会丢失。使用。总的来说,所有那些只会增加难以使用和理解新事物的东西。

1 个答案:

答案 0 :(得分:2)

"f"是一个字符串,而不是char。请改为'f'