作者khoguan (Khoguan Phuann)
看板C_and_CPP
标题Re: [FAQ集] 函式宣告 int f(void); 和 int f(); ꐠ…
时间Fri Sep 2 21:56:13 2005
※ 引述《khoguan (Khoguan Phuann)》之铭言:
: Q: 函式宣告 int f(void); 和 int f(); 一样吗?
:
: A: 对 C++ 来说,两者一样表示 f 函式不需要而且不能有参数。但对 C 来说,
: 只有前者才表示不能有参数,後者则是表示参数个数及型别并未指定,编
: 译器不帮我们在呼叫时做这种检查。参考上一则。
: 推 jeunder:建议可以补充, 加上 int f(...); 的例子 61.64.150.109 09/02
嗯,这种宣告方式,一般都是要先有一个或多个具体的参数型别,
最後再加上这个 ellipsis( , ...) 才有办法用 stdarg.h 中的
macro 来存取。就像 printf(const char *, ...); 等 I/O系列
那样。一般是不会只宣告成 int f(...); 这样的。所以就和这则
FAQ 的 f(void) 和 f() 长的样子差得比较远一点。
不过,得确值得另立一则 FAQ 讨论一下如何定义 function with
variable number of arguments :-)
-=-=-=-=-=-=-=-=-=
对了,能不能拜托 jeunder大大 来整理或新写一到数则有关
取乱数的 FAQ 呢? ^_^
我完全不懂数学,没办法 :(
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.208.167
1F:推 jeunder:好啊, 试着整理, 但无法保证何时会完成. :p 61.64.150.109 09/02
2F:推 khoguan:有劳了 ^^ 就当做是休闲时的活动吧 :-Q220.130.208.167 09/02