linux下函数参数引用的一个小疑问?该如何处理
linux下函数参数引用的一个小疑问???C/C++ codeclass CServerMain:public sdo::sos::ISos{private:void Co
linux下函数参数引用的一个小疑问???
C/C++ codeclass CServerMain:public sdo::sos::ISos{private: void CopyHead(CSapDecodeMsg InMsg, CSapEncodeMsg &OutMsg); void ProcessCMD_Failed(int id, CSapDecodeMsg &InMsg, int FailCode = 0x14);};
这个是类的头文件定义,在CopyHead函数中InMsg有引用,OutMsg无引用;
C/C++ codevoid CServerMain::ProcessCMD_Failed(int id, CSapDecodeMsg &InMsg, int FailCode){ CSapEncodeMsg msgEncode; CopyHead(InMsg, msgEncode); //报错}
报错如下:
src/ServiceMain_Logic.cpp: In member function `void
CServerMain::ProcessCMD_Failed(int, sdo::sap::CSapDecodeMsg&, int)':
src/ServiceMain_Logic.cpp:6: no matching function for call to `CServerMain::
CopyHead(sdo::sap::CSapDecodeMsg&, sdo::sap::CSapEncodeMsg&)'
src/ServiceMain.h:28: candidates are: void
CServerMain::CopyHead(sdo::sap::CSapDecodeMsg, sdo::sap::CSapDecodeMsg&)
[解决办法]很怪异,可能和编译器有关吧,vc6可以正常通过。
期待lz裸照