Search code examples
c++boostboost-fusionboost-tuples

error: boost.fusion::for_each() and struct derived from boost.tuple


on compilation this code:

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());
}

get error: no type named 'category' in 'struct any_type' why? I want it to inherit from boost.tuple.


Solution

  • Inherit from boost::fusion::tuple instead of boost::tuple.
    Note: Consider making void operator()(const std::string& v) const