跪求
struct MSGBUFF
{
int nUserID;
int nType;
/*MSGBUFF&*/void operator = (MSGBUFF MsgBuff)
{
this->nUserID = MsgBuff.nUserID;
this->nType = MsgBuff.nType;
//return *this;
}
};
void DoAction(MSGBUFF* pMsg)
{
if(!pMsg)
return;
MSGBUFF MsgBuff;
MsgBuff.nUserID = 1;
MsgBuff.nType = 1;
pMsg->operator=(MsgBuff);
//pMsg = &MsgBuff;//为什么不能调用operator =
return ;
}
int _tmain(int argc, _TCHAR* argv[])
{
MSGBUFF* pMsg = new MSGBUFF();
DoAction(pMsg);
delete pMsg;
_CrtDumpMemoryLeaks();
return 0;
}
pMsg = &MsgBuff;
*pMsg = MsgBuff;
#include <iostream>
struct MSGBUFF
{
int nUserID;
int nType;
MSGBUFF& operator= (const MSGBUFF &MsgBuff)
{
this->nUserID = MsgBuff.nUserID;
this->nType = MsgBuff.nType;
std::cout << "call operator=" << std::endl;
return *this;
}
};
void DoAction(MSGBUFF* pMsg)
{
if (!pMsg)
return;
MSGBUFF MsgBuff;
MsgBuff.nUserID = 1;
MsgBuff.nType = 1;
//pMsg->operator=(MsgBuff);
*pMsg = MsgBuff;//为什么不能调用operator =
return;
}
int main()
{
MSGBUFF* pMsg = new MSGBUFF();
DoAction(pMsg);
delete pMsg;
_CrtDumpMemoryLeaks();
return 0;
}