ошибка: boost.fusion :: for_each () и структура, полученная из boost.tuple - PullRequest
1 голос
/ 29 сентября 2010

при компиляции этого кода:

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

получить ошибку: ни один тип с именем 'category' в 'struct any_type' почему?Я хочу, чтобы он наследовал от boost.tuple.

1 Ответ

1 голос
/ 30 сентября 2010

Наследовать от boost::fusion::tuple вместо boost::tuple.
Примечание: Рассмотрите возможность создания void operator()(const std::string& v) const

...