读书人

变参函数至少提供一个显示参数么,该怎

发布时间: 2012-05-15 14:35:29 作者: rapoo

变参函数至少提供一个显示参数么
int Fun(...)写成这样不行吗

[解决办法]
不行,可以先看下变参函数怎么定义的。你直接在括号里写几个点是没有用的,还要报错。
[解决办法]

探讨
int Fun(...)写成这样不行吗

[解决办法]
可以的,但是,你实现这个函数的时候,不能直接使用 va_start 宏。
因为这个宏需要一个明确的参数地址。
[解决办法]
没有第一个变量,就不知道参数栈地址从何开始.
[解决办法]
不行,要给个起跑线”
[解决办法]
可以这样写,我在VS2010上调试通过了
可这样写没意思,你办法获得变参的位置。

还有就是能用函数重载、数组等方式代替的,最好不要用变参
因为用变参极易出错,编译器对变量类型没有检查,还可能出现越界访问。

读书人网 >C语言

热点推荐