【问题标题】:Filling up std::vector with heterogeneous boost::fusion vector type data用异构 boost::fusion 向量类型数据填充 std::vector
【发布时间】:2012-05-07 22:29:09
【问题描述】:

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

还有人可以指点我一本关于元编程和 boost 的不错的入门书,以便我了解使用 boost 背后的心态和一些使用 boost 的编程示例吗?

我真的认为在线手册网站绝对是垃圾。至少对于那些对 C++ 和 STL 不完全陌生但在 'struct' 声明以及 '::' 和 '' 使用的分数中迷失的人来说,它看起来是这样的。一般来说,对于新手来说,所有的事情都会让 boost 难以使用和理解。

【问题讨论】:

    标签: c++ boost boost-fusion


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-12
      • 2012-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多