deque为什么报错呢//......................
error C2664: “std::_Deque_iterator<_Ty,_Alloc,_Secure_validation> std::deque<_Ty>::insert(std::_Deque_const_iterator<_Ty,_Alloc,true>,const _Ty &)”: 不能将参数1 从“BYTE [100]”转换为“std::_Deque_const_iterator<_Ty,_Alloc,_Secure_validation>”
#include "stdafx.h"
#include <deque>
#include <afxmt.h>
#include <iostream>
using namespace std;
std::deque<BYTE> h264Buffer;
int _tmain(int argc, _TCHAR* argv[])
{
BYTE buffer[100];
for(int i = 0;i<100;i++)
buffer[i] = 0x12;
h264Buffer.insert(buffer,100);
BYTE* buffer2 = new BYTE[100];
for(int i=0;i<100;i++)
{
buffer2[i] = h264Buffer.front();
h264Buffer.pop_front();
}
for(int i=0;i<100;i++)
cout<< buffer2[i] << " ";
cout<<endl;
return 0;
}
h264Buffer.assign(100, 0 );//用100个0填充容器,结束后容器中有100个元素,都是0.
h264Buffer.insert(h264Buffer.end(), 100, 0 );//把100个0添加到容器末尾,结束后容器中增加100个元素。
h264Buffer.insert(h264Buffer.end(), &buffer[0], &buffer[100]);
h264Buffer.assign(&buffer[0], &buffer[100]);