typedef ::std::vector<CByteArray> VECTFRAMEBODY;
VECTFRAMEBODY m_vectFrmBody;
CByteArray baFrmBody;
dosomthing();
m_vectFrmBody.push_back(baFrmBody);
这里就会报错,就是这一句m_vectFrmBody.push_back(baFrmBody);
Compiling...
TXDlg.cpp
E:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\xutility(39) : error C2582: 'CByteArray' : 'operator =' function is unavailable
E:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\vector(170) : see reference to function template instantiation 'void __cdecl std::fill(class CByteArray *,class CByteArray *,const class CByteArray &)' being compiled
E:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\xutility(25) : error C2582: 'CByteArray' : 'operator =' function is unavailable
E:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\vector(174) : see reference to function template instantiation 'class CByteArray *__cdecl std::copy_backward(class CByteArray *,class CByteArray *,class CByteArray *)' being compiled
E:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\xmemory(34) : error C2558: class 'CByteArray' : no copy constructor available
E:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\xmemory(66) : see reference to function template instantiation 'void __cdecl std::_Construct(class CByteArray *,const class CByteArray &)' being compiled
执行 cl.exe 时出错.
Creating browse info file...DBTest.exe - 1 error(s), 0 warning(s)
看样子CByteArray是无法压入Vector? 真的是这样吗? 高手们有没有办法,我真的很想用Vector 保存CByteArray ,T_T
.h 中 typedef ::std::vector<CByteArray&> VECTFRMBODY;CByteArray baFrmBody;
baFrmBody.SetSize(20);
baFrmBody.Add(0x12);VECTFRMBODY vectFrmBody;
vectFrmBody.reserve(30);vectFrmBody.push_back(baFrmBody);错误更多了,估计不行. 为什么CByteArray无法压入Vector? 真的不行吗?
typedef ::std::vector<CByteArray*> VECTFRAMEBODY;
VECTFRAMEBODY m_vectFrmBody;
...
m_vectFrmBody.push_back(&baFrmBody);