如何解决引用boost.fusion矢量中的元素
| 编辑-请忽略-有关简单拼写错误的问题已解决。我需要休息一下。 如何访问对Boost融合向量元素的引用? 与boost.tuples的tuples::get<i>(variable)
(返回参考)不同,fusion::at_c<i>(variable)
返回常数,这给我带来了麻烦。
以下说明了我的问题
#include <iostream>
#include <boost/tuple/tuple.hpp>
#include <boost/fusion/include/vector.hpp>
#include <boost/fusion/include/at.hpp>
using namespace boost;
int
main (int ac,char **av)
{
fusion::vector<int,char,std::string> vec(1,\'x\',\"howdy\");
tuples::tuple <int,std::string> tup(1,\"howdy\");
std::cout<< fusion::at_c<0>(vec)<<std::endl; //outputs 1
std::cout<< tuples::get<0> (tup) <<std::endl; //outputs 1
//fusion::at<0>(vec) = 2; //doesn\'t compile
tuples::get<0>(tup) = 2; //works fine
std::cout<< fusion::at_c<0>(vec) <<std::endl; //can\'t make this output 2.
std::cout<< tuples::get<0> (tup) <<std::endl; //outputs 2
}
解决方法
你不能只做三英镑吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。