首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于DEQUE容器的初始化解决思路

2012-05-09 
关于DEQUE容器的初始化#include iostream#include list#include string#include dequeusing names

关于DEQUE容器的初始化
#include <iostream>
#include <list>
#include <string>
#include <deque>
using namespace std;
int main()
{string a[]={"1","2","3","4","5","4","6","7","7"};
std::deque<string> de(a,a+9);
for(deque<string>::iterator it=de.begin();it!=de.end();++it)
if(*it=="4")
{it=de.erase(it);
--it;
}

for(it=de.begin();it!=de.end();++it)
cout<<*it<<endl;
return 0;
}
这段代码编译无法通过,,,
Documents and Settings\啊啊啊\桌面\c&c++实例\9.27.cpp(8) : error C2664: '__thiscall std::deque<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::c
har_traits<char>,class std::allocator<char> > > >::std::deque<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocato
r<char> > > >(unsigned int,const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,const class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > &)' : can
not convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > [9]' to 'unsigned int'
  This conversion requires a reinterpret_cast, a C-style cast or function-style cast

[解决办法]

C/C++ code
int main() {    string a[]={"1","2","3","4","5","4","6","7","7"};     deque <string> de;    for(int i=0;i<9;i++)    {        cout<<a[i]<<endl;        de.push_back(a[i]);     }    for(deque <string>::iterator it=de.begin();it!=de.end();++it)     if(*it=="4")     {        it=de.erase(it);         --it;     }     for(it=de.begin();it!=de.end();++it)         cout <<*it <<endl;     return 0; }
[解决办法]
探讨
。。这是C++PRIMER上说的,可能C++PRIMER上不是说的很清楚,那为什么LIST和VECTOR都可以用内置数组的一对指针来初始化,而DEQUE不行呢
我怀疑是不是编译器的关系,我用的是VC6.0

热点排行