在linux下编译程序,出现很奇怪的问题,函数的形参多一个&,比如一个函数原型为int func(char*,int),调用时出现找不到匹配函数的错误,出现int func(char*&,int&)。感到不可思议,于是在调用函数之前写上int a = 3,func(sss,iii,a),编译不通过时会出现int func(char*& sss,int& iii,int&a),有没有遇到过这种问题,是什么原因,请指教。
无代码无真相~~
没遇到过,应该是代码问题~~~~~上代码~!
编译指令拿出来看看
自动引用?楼主还是把代码和编译错误都拿出来看看
在linux下编译程序,出现很奇怪的问题,函数的形参多一个&,比如一个函数原型为int func(char*,int),调用时出现找不到匹配函数的错误,出现int func(char*&,int&)。
没看明白,调用函数是你自己来调用,为何会多个&呢?
应该是你调用错了,一般不会有这种问题。
不贴代码大家不知道你说的问题。
无代码无真相
谢谢各位的回答,代码太多,只能搞一点相关的上来,
这是代码的地方:
if (m_isChunked)
{
if (!m_HttpDecode->HandleChunk(m_storeEntityBuffer,m_curEntityLen,netProtoContent))
return ;
}
参数的声明为:
CHAR* m_storeEntityBuffer;
UINT32 m_curEntityLen;
NetProtoContent* netProtoContent
这是编译出现的错误:
Http.cpp: In member function ‘virtual void Http::TransactPacket(NetProtoContent*)’:
Http.cpp:245: 错误:对 ‘HttpDecode::HandleChunk(CHAR*&, UINT32&, NetProtoContent*&)’ 的调用没有匹配的函数
HttpDecode.h:40: 附注:备选为: BOOL Ht