Ошибка: Boost.fusion :: for_each () и структура, полученные из Boost.tupple

StackOverflow https://stackoverflow.com/questions/3825008

Вопрос

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

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

Получите ошибку: нет типа «Категория» в «Arture al_type», почему? Я хочу, чтобы это наследовать от Boost.tupple.

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top