错误:boost.fusion :: for_each()和从boost.tuple派生的结构

时间:2010-09-29 19:10:45

标签: c++ boost boost-fusion boost-tuples

编译此代码:

struct any_type: boost::tuple<std::string, std::string, std::string> {
   ...
};

struct functor {
   void operator()(const std::string& v) {
      std::cout << v << std::endl;
   }
};

int main() {
   any_type type;
   boost::fusion::for_each(type, functor());
}

获取错误:'struct any_type'中没有名为'category'的类型 为什么? 我希望它继承自boost.tuple。

1 个答案:

答案 0 :(得分:1)

继承自boost::fusion::tuple而不是boost::tuple 注意:考虑制作void operator()(const std::string& v) const