这怎么可以?

keyayi 2008-11-10 04:07:20
看网络中间件的DLL时,看到一个函数在头文件声明如下:
int DBWrite(short shOPSNo,char *pDataBuf,int iDataLen,BYTE bDomainNo,int timeOut=-1);
在cpp中实现却是:
int DBWrite(short shOPSNo,char *pDataBuf,int iDataLen,BYTE bDomainNo,int timeOut,time_t tWriteTime,short shWriteMs)
多了几个参数,并且在后续的代码,我看到了,tWriteTime, shWriteMs这两个值赋给了其他值,这怎么可以呢?不会出错吗,我没看到tWriteTime, shWriteMs这2个值从哪里来?
...全文
96 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxgamexx 2008-11-10
  • 打赏
  • 举报
回复
第一个默认参数

如:

void fun(int a,int b=1){cout<<a<<b<<endl;}

fun(4);

输出则为: 4 1

fun(4,5)

输出则为:4 5

第二个

DLL应该还有个 int DBWrite(short shOPSNo,char *pDataBuf,int iDataLen,BYTE bDomainNo,int timeOut,time_t tWriteTime,short shWriteMs)
重载函数
xhs_lh04 2008-11-10
  • 打赏
  • 举报
回复
呵呵这咋有可能呢
嗯可能是版本问题,.h更新不及时,调用还要按.cpp里去调用
不然编译链接时一定会报错的
太乙 2008-11-10
  • 打赏
  • 举报
回复
汗~~~~~~~~~

呵呵~~~

这个是不是重载了,你没找全??
三文鱼也会飞 2008-11-10
  • 打赏
  • 举报
回复
可能是网络中间件的DLL升过级,接口不变就能用
wudeshou82666 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ouyh12345 的回复:]
默认参数

如果调用时,不写该参数,则参数的值就是默认的
[/Quote]

正解,UP
ouyh12345 2008-11-10
  • 打赏
  • 举报
回复
默认参数

如果调用时,不写该参数,则参数的值就是默认的
keyayi 2008-11-10
  • 打赏
  • 举报
回复
晕啊,怎么发了一模一样的两个

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧