c++关于容器的insert用法,该如何处理
c++关于容器的insert用法
#include <iostream>
#include <list>
#include <deque>
using namespace std;
int main()
{
int number;
list<int> llist;
cout << "Enter some numbers (CTRL + Z to end)" << endl;
while(cin >> number)
llist.push_back(number);
list<int>::iterator bgter = llist.begin();
list<int>::iterator edter = llist.end();
if(llist.size() % 2 == 1) { //list容器的元素为奇数
deque<int> que_1;个数
deque<int>::iterator dqter = que_1.begin();
que_1.insert(dqter, bgter, edter); //编译器显示这里有问题
for(deque<int>::iterator beg_1 = que_1.begin(); beg_1 != que_1.end(); beg_1++)
cout << *beg_1 << " ";
cout << endl;
}
if(llist.size() % 2 == 0) { //list容器的元素个数为奇数
deque<int> que_2;
que_2.insert(que_2.end(), bgter, edter); //编译器显示这里有问题
for(deque<int>::iterator beg_2 = que_2.begin(); beg_2 != que_2.end(); beg_2++)
cout << *beg_2 << " ";
cout << endl;
}
return 0;
}
请问为什么提示'void __thiscall std::deque<int,class std::allocator<int> >::insert(class std::deque<int,class std::allocator<int> >::iterator,unsigned int,const int &)' : cannot convert parameter 2 from 'class std::li
st<int,class std::allocator<int> >::iterator' to 'unsigned int'
------解决方案--------------------
deque<int> que_1;个数
这一句的个数要加注释,修改为:
deque<int> que_1;//个数
除了这个没其它问题啊,我的编译器可以正确运行,不知楼主用的什么编译器
------解决方案--------------------
加个注释就行了···
------解决方案--------------------
怎么做?
------解决方案--------------------
#include <iostream>
#include <list>
#include <deque>
using namespace std;
int main()
{
int number;
list<int> llist;
cout << "Enter some numbers (CTRL + Z to end)" << endl;
while(cin >> number)
llist.push_back(number);
list<int>::iterator bgter = llist.begin();
list<int>::iterator edter = llist.end();
if(llist.size() % 2 == 1) { //list容器的元素为奇数
deque<int> que_1;个数
deque<int>::iterator dqter = que_1.begin();
que_1.insert(dqter, bgter, edter); //编译器显示这里有问题
for(deque<int>::iterator beg_1 = que_1.begin(); beg_1 != que_1.end(); beg_1++)
cout << *beg_1 << " ";
cout << endl;
}
if(llist.size() % 2 == 0) { //list容器的元素个数为奇数
deque<int> que_2;
que_2.insert(que_2.end(), bgter, edter); //编译器显示这里有问题
for(deque<int>::iterator beg_2 = que_2.begin(); beg_2 != que_2.end(); beg_2++)
cout << *beg_2 << " ";
cout << endl;
}
return 0;
}
请问为什么提示'void __thiscall std::deque<int,class std::allocator<int> >::insert(class std::deque<int,class std::allocator<int> >::iterator,unsigned int,const int &)' : cannot convert parameter 2 from 'class std::li
st<int,class std::allocator<int> >::iterator' to 'unsigned int'
------解决方案--------------------
deque<int> que_1;个数
这一句的个数要加注释,修改为:
deque<int> que_1;//个数
除了这个没其它问题啊,我的编译器可以正确运行,不知楼主用的什么编译器
------解决方案--------------------
加个注释就行了···
------解决方案--------------------
怎么做?
------解决方案--------------------
- C/C++ code
#include <iostream> #include <list> #include <deque> using namespace std; int main() { int number; list<int> llist; cout << "Enter some numbers (CTRL + Z to end)" << endl; while(cin >> number) llist.push_back(number); list<int>::iterator bgter = llist.begin(); list<int>::iterator edter = llist.end(); if(llist.size() % 2 == 1) { //list容器的元素为奇数 deque<int> que_1;//个数 deque<int>::iterator dqter = que_1.begin(); que_1.insert(dqter, bgter, edter); //编译器显示这里有问题 for(deque<int>::iterator beg_1 = que_1.begin(); beg_1 != que_1.end(); beg_1++) cout << *beg_1 << " "; cout << endl; } if(llist.size() % 2 == 0) { //list容器的元素个数为奇数 deque<int> que_2; que_2.insert(que_2.end(), bgter, edter); //编译器显示这里有问题 for(deque<int>::iterator beg_2 = que_2.begin(); beg_2 != que_2.end(); beg_2++) cout << *beg_2 << " "; cout << endl; } return 0; }