今天编写一个小程序是遇到这样的一个问题。
即将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++的特性吧!即用迭代器对容器初始化是必须加上类型说明符,即使在前面声明了,之后在初始化时也还是要加上的!