作者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