编译辅助?

xili 2005-11-25 02:43:37
编译辅助?

自己写的链表,有这样的函数:
mylist::insert_after(node * pNew, node *pOld); 目的是将pNew插入到pOld后面.

这个函数在使用中有点问题,
调用时很容易将 insert_after(p1, p2)的参数次序搞反了,
这种情况很难查错.

有没有办法将它们区分开来.要求不损失运行效率.
俺设想, typedef 一个新类型,调用时,其中一个参数必须 进行类型强制转换 才能编译通过.
就好象 explicit 对constructor 的作用那样.

有没有办法?

...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangyzqo 2005-11-25
  • 打赏
  • 举报
回复
觉得 xiaocai0001(萧筱雨) 的方法不错,
我觉得 mylist::insert_after(const node* & pNew, node *pOld);

mylist::insert_after(const node* & pNew, node* & pOld);
是不是也可以呢?
xiaocai0001 2005-11-25
  • 打赏
  • 举报
回复
试了一下, 定义成const可以解决一部分问题, 但不能很完美的解决这个问题.
lujun-cc 2005-11-25
  • 打赏
  • 举报
回复
#define NEW
#define OLD

mylist::insert_after(NEW node * pNew, OLD node *pOld);

这样也许有些帮助的吧!
xiaocai0001 2005-11-25
  • 打赏
  • 举报
回复
mylist::insert_after(node * pNew, node *pOld);
定义成
mylist::insert_after(const node * pNew, node *pOld);
看看行不行?
xili 2005-11-25
  • 打赏
  • 举报
回复
谢谢各位

64,652

社区成员

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

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