向量插入错误 我在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'时没有匹配的函数