c语言参数个数检查,C语言中函数定义中参数个数的奇怪问题

今天在用C语言编译程序的编译通不过,在调用一个函数read_image()的时候,提示说:too many arguments to function 'read_image'

setup.c /fragstats line 287

查看源代吗中与read_image相关的地方:grep read_image .c.h

ckback.c: * Call read_image with the image_edge set to 1; this will force the image

ckback.c: read_image (1);

ckedge.c: read_image (0);

fragstats.c: read_image (0);

fragstats.c: read_image (0);

landedge.c: read_image (0);

rascont.c: read_image (0);

readimg.c:void read_image (alter_orig)

setup.c: read_image (0, &bcode);

setup.c: read_image (0);

routines.h:void read_image ();

倒数第3个即是出问题的地方。 其实这个问题我原来也发现过,因为对C语言只能说是略知一二,所以没认为此处有问题。而且代码是公开发布的,编译也通过了。 由于一些原因,我对源代码进行了重构,增加了一些功能,代码一直也编译没有问题,但是没想到今天突然出现问题了,而且怎么调试也不行。再编译原来的代码,还是没有问题。就此问题在QQ群上询问了一些人,都认为是调用的有问题,参数多给了一个,但谁也解决不了为何原来代码编译通过的现象。 最后,我把调用函数read_ image (0,&bcode)直接修改为read _image (0),编译通过了,而且从运行结果上来看,与原来的结果也是一致的,只是不知会不会存在隐患,不定哪天又出现了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值