在C+或C中foo(Void)和foo()之間有什么區別嗎?考慮這兩個函數定義:void foo() { }void foo(void) { }這兩者有什么區別嗎?如果沒有,為什么void有爭論嗎?審美原因?
3 回答

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
void foo()
意思是“一個函數” foo
獲取未指定類型的未指定數量的參數“ void foo(void)
意思是“一個函數” foo
不爭論“
void foo()
意思是“一個函數” foo
不爭論“ void foo(void)
意思是“一個函數” foo
不爭論“
foo(void)
extern "C"

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
此外,如果函數聲明不包括參數,如 double atof();
這也意味著對atof的參數沒有任何假設;所有參數檢查都被關閉??諈盗斜淼倪@一特殊含義是為了允許舊的C程序使用新的編譯器進行編譯。但是在新的程序中使用它是個壞主意。如果函數接受參數,則聲明它們;如果不使用參數,則使用void。
- 3 回答
- 0 關注
- 418 瀏覽
添加回答
舉報
0/150
提交
取消