C:\WINDOWS\Desktop\GAClient\GACSocket.cpp(102) : error C2664: 'CopyMsg' : cannot convert parameter 1 from 'class CMsg' to 'class CMsg'void CGACSocket::ProcessPendingRead()
{
do
{
ReceiveMsg();
CMsg* pmsg=new CMsg;
pmsg->CopyMsg(msg);//出错
AfxBeginThread(DealData,pmsg);
//Deal();
}
while(!m_pArchiveIn->IsBufferEmpty());}void CMsg::CopyMsg(CMsg msg)
{
flag=msg.flag;
Floor=msg.Floor;
indi.IndividualInit(Floor);
for(int i=0;i<Floor*(LENGTH1+LENGTH2)+1;i++)
indi.chrom[i]=msg.indi.chrom[i];
indi.fitness=msg.indi.fitness;
for(i=0;i<Floor;i++)
indi.Kind[i]=msg.indi.Kind[i];
for(i=0;i<Floor;i++)
indi.Thick[i]=msg.indi.Thick[i];
for(i=0;i<FREQNUM;i++)
indi.value[i]=msg.indi.value[i];
m_bOnline=msg.m_bOnline;
for(i=0;i<255;i++)
m_strAction[i]=msg.m_strAction[i];
}
怎么解决?
{
do
{
ReceiveMsg();
CMsg* pmsg=new CMsg;
pmsg->CopyMsg(msg);//出错
AfxBeginThread(DealData,pmsg);
//Deal();
}
while(!m_pArchiveIn->IsBufferEmpty());}void CMsg::CopyMsg(CMsg msg)
{
flag=msg.flag;
Floor=msg.Floor;
indi.IndividualInit(Floor);
for(int i=0;i<Floor*(LENGTH1+LENGTH2)+1;i++)
indi.chrom[i]=msg.indi.chrom[i];
indi.fitness=msg.indi.fitness;
for(i=0;i<Floor;i++)
indi.Kind[i]=msg.indi.Kind[i];
for(i=0;i<Floor;i++)
indi.Thick[i]=msg.indi.Thick[i];
for(i=0;i<FREQNUM;i++)
indi.value[i]=msg.indi.value[i];
m_bOnline=msg.m_bOnline;
for(i=0;i<255;i++)
m_strAction[i]=msg.m_strAction[i];
}
怎么解决?
解决方案 »
- 串口通信问题??
- 学习编程 我有3个不懂的疑问. 请教了.
- [请教]关于函数WritePrivateProfileSection() 和WritePrivateProfileString()的问题!
- 200分请教能提供nasl语言解释器2.0以上版本源代码或相关线索的朋友!
- 考研好还是搞计算机技术好(续)????
- 怎么处理工具条按纽的右键click事件?
- 请问下面的程序段(smtp验正部分) 发完用户名之后 为什么服务器没有响应???请看下面说明
- 我在基于FORMVIEW内加一个贴图的按纽,能显示,但返回时,按纽没了,且按纽地方一块灰色,为什么
- 如何禁止它显示滚动条?
- MFC程序自适应分辨率
- qq自定义表情文件cfc文件的格式是什么
- 请问,谁知道OCX是什么英文的缩写啊?
msg哪里来的变量?
{
// Attributes
public:// Operations
public:
CGACSocket();
virtual ~CGACSocket();// Overrides
public:
void Deal();
void ReceiveMsg();
void ProcessPendingRead();
void SendMsg();
void OnReceive(int nErrorCode);
void Init();
void End();
CSocketFile* m_pFile;
CArchive* m_pArchiveIn;
CArchive* m_pArchiveOut;
CMsg msg;
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CGACSocket)
//}}AFX_VIRTUAL // Generated message map functions
//{{AFX_MSG(CGACSocket)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG// Implementation
protected:
};
定义成void CMsg::CopyMsg(CMsg* pMsg)
或者void CMsg::CopyMsg(CMsg& msg)
传引用或者指针,
你这样的定义可能问题出现在CMsg类的构造函数.
"no copy constructor"?