向量插入错误 我在C++中有一个向量代码: typedef vector<boost::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool> >::iterator traveling; traveling running = std::partition( wait.begin(), wait.end(), tuple_comp ); running_jobs.insert(running, wait.end()); wait.erase( running, wait.end() ); typedef向量::迭代器旅行; 移动运行= std::partition(wait.begin()、wait.end()、tuple_comp); 正在运行_jobs.insert(running,wait.end()); wait.erase(正在运行,wait.end());

向量插入错误 我在C++中有一个向量代码: typedef vector<boost::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool> >::iterator traveling; traveling running = std::partition( wait.begin(), wait.end(), tuple_comp ); running_jobs.insert(running, wait.end()); wait.erase( running, wait.end() ); typedef向量::迭代器旅行; 移动运行= std::partition(wait.begin()、wait.end()、tuple_comp); 正在运行_jobs.insert(running,wait.end()); wait.erase(正在运行,wait.end());,c++,vector,iterator,C++,Vector,Iterator,这个错误给了我: main.cpp:223: error: no matching function for call to ‘std::vector<boost::tuples::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, b

这个错误给了我:

main.cpp:223: error: no matching function for call to ‘std::vector<boost::tuples::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, std::allocator<boost::tuples::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >
>::insert(threaded_function(ppa::Model_factory&, ppa::Node*)::traveling&,
__gnu_cxx::__normal_iterator<boost::tuples::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>*, std::vector<boost::tuples::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, std::allocator<boost::tuples::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > > >)’
main.cpp:223:错误:调用'std::vector::insert(threaded_函数(ppa::Model_factory&,ppa::Node*)::traveling&,
__gnu_cxx::uu normal_迭代器)'
这是netbeans 7.2,我不知道std中的向量应该有insert,我遗漏了什么吗

running_jobs = vector<boost::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool> > running_jobs;

 line 223    running_jobs.insert(running, wait.end());
running_jobs=向量running_jobs;
第223行running_jobs.insert(running,wait.end());

什么在运行作业?我认为它是一个向量。还有这个物体“wait”,我假设它是一个向量

打电话

running_jobs.insert(running, wait.end());
这是错误的。第一个参数必须是迭代器 所以正确的选择应该是

running_jobs.insert( wait.end(), running);

希望这能起作用

什么在运行作业?我认为这是一个向量。还有这个物体“wait”,我假设它是一个向量

打电话

running_jobs.insert(running, wait.end());
这是错误的。第一个参数必须是迭代器 所以正确的选择应该是

running_jobs.insert( wait.end(), running);

希望这能起作用

问题确实在于您调用
插入
。看看

您必须告诉
insert
在哪里插入
正在运行的作业
。可能是这样的:

running_jobs.insert(running_jobs.end(), running, wait.end());

问题确实是您对
insert
的调用。看看

您必须告诉
insert
在哪里插入
正在运行的作业
。可能是这样的:

running_jobs.insert(running_jobs.end(), running, wait.end());

我们需要查看运行作业的
的定义。看起来你把类型弄混了。错误表明没有安装
插入
成员函数。这很可能是因为
正在运行的\u作业的类型与
等待的类型不同!这两个都是元组的向量—相同的数据—我们需要查看运行作业的
的定义。看起来你把类型弄混了。错误表明没有安装
插入
成员函数。这很可能是因为
正在运行的\u作业的类型与
等待的类型不同!这两个都是元组的向量,都是相同的dataNope,运行_jobs.insert(wait.end(),running);同样,main.cpp:223:错误:没有匹配的函数用于调用'std::vectorNope,正在运行_jobs.insert(wait.end(),running);同样,main.cpp:223:错误:调用'std::vector'时没有匹配的函数