C++中容器的初始化问题deque和list

来源:互联网 发布:大数据涂子沛读后感 编辑:程序博客网 时间:2024/05/03 02:48

今天编写一个小程序是遇到这样的一个问题。

即将list的元素复制到deque中。

刚开始我是这样写

#include "stdafx.h"
#include<iostream>
#include<list>
#include<deque>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
 list<int> ilist;
 deque<int> deque1;
 while(cin>>m)
  ilist.push_back(m);
 list<int>::iterator iter1=ilist.begin(),iter2=ilist.end();
deque1(iter1,iter2);%但是这里会出错,之后我将这里改为 deque<int> deque1(iter1,iter2)之后这个错误就没有了

return 0;

}

VS2010报的错误是error C2064: 项不会计算为接受 2 个参数的函数

上网查了下,也没有这方面的知识,暂且认为这是C++的特性吧!即用迭代器对容器初始化是必须加上类型说明符,即使在前面声明了,之后在初始化时也还是要加上的!

原创粉丝点击