CByteArray这个类该怎么用??
再串口通信中经常用到CByteArray这个类,怎么使用它啊??
问题:
我自己写了编码解码的方法
BOOL blCodingAndDecode(CByteArray btBuffer, BOOL bValue);
但在调用的时候出现了问题,
BYTE bt[256];
CByteArray OutBuf,lp;
bt[0] = 0xc0;
bt[1] = 0x01;
bt[2] = 0x00;
bt[3] = 0x00;
bt[4] = 0x00;
bt[5] = 0x00;
bt[6] = 0x00;
bt[7] = 0x01;
bt[8] = 0x02;
bt[9] = 0x00;
bt[10] = 0x04;
bt[11] = 0xc0;
OutBuf.SetSize(12);
COleVariant colevar;
for(int i =0; i <12; i++){
OutBuf[i] = bt[i];
}
//在发送串口字符串之前对字符串进行编码
blCodingAndDecode( OutBuf, TRUE ); //<----出错的地方
colevar = OutBuf;
m_ctrlComm.SetOutput(colevar);
D:\VC\testComm\testCommDlg.cpp(289) : error C2664: 'blCodingAndDecode' : cannot convert parameter 1 from 'class CByteArray' to 'class CByteArray'
No copy constructor available for class 'CByteArray'
这是怎么回事?
问题点数:40、回复次数:8Top
1 楼newcore(to be or not to be, it's a question.)回复于 2006-03-03 12:54:46 得分 0
CByteArray没有实现拷贝构造函数,不能这样用...
修改:
BOOL blCodingAndDecode(CByteArray btBuffer, BOOL bValue);为:
BOOL blCodingAndDecode(CByteArray *btBuffer, BOOL bValue);
试试
Top
2 楼vcmute(BCare4 H1Rest Good9!)回复于 2006-03-05 10:14:50 得分 0
BOOL blCodingAndDecode(CByteArray &btBuffer, BOOL bValue)Top
3 楼Joy58061678(杭州浪子)回复于 2006-03-08 16:13:42 得分 0
BOOL blCodingAndDecode(CByteArray &btBuffer, BOOL bValue)
为什么这样加了个取地址符号就可以了呢?Top
4 楼Mackz(在相互)回复于 2006-03-08 20:14:39 得分 0
这叫引用。没学过C++?Top
5 楼xuzheng318(忧郁王子)回复于 2006-03-08 20:20:38 得分 0
BOOL blCodingAndDecode(CByteArray &btBuffer, BOOL bValue)
问题解决!
Top
6 楼fyx010641(方怡新)回复于 2006-03-08 20:37:45 得分 0
建议去MSDN看看!!Top
7 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2006-03-08 21:45:38 得分 0
用引用就不需要拷贝了Top
8 楼benxudong()回复于 2006-03-09 11:55:43 得分 0
定义成:BOOL blCodingAndDecode(BYTE *btBuffer, BOOL bValue);
调用函数改成:blCodingAndDecode( OutBuf.GetData(), TRUE );
应该可以Top




