错误:boost.fusion::for_each() 和从 boost.tuple 派生的结构
编译此代码时:
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。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
继承自
boost::fusion::tuple
而不是boost::tuple
。注意:考虑将
void operator()(const std::string& v)
设置为 constInherit from
boost::fusion::tuple
instead ofboost::tuple
.Note: Consider making
void operator()(const std::string& v)
const