亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在C+或C中foo(Void)和foo()之間有什么區別嗎?

在C+或C中foo(Void)和foo()之間有什么區別嗎?

C
江戶川亂折騰 2019-07-26 15:14:08
在C+或C中foo(Void)和foo()之間有什么區別嗎?考慮這兩個函數定義:void foo() { }void foo(void) { }這兩者有什么區別嗎?如果沒有,為什么void有爭論嗎?審美原因?
查看完整描述

3 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

在……里面C:

  • void foo()

    意思是“一個函數”

    foo

    獲取未指定類型的未指定數量的參數“
  • void foo(void)

    意思是“一個函數”

    foo

    不爭論“

在……里面C+:

  • void foo()

    意思是“一個函數”

    foo

    不爭論“
  • void foo(void)

    意思是“一個函數”

    foo

    不爭論“

通過寫作foo(void)因此,我們在兩種語言之間實現了相同的解釋,并使我們的標頭以多語種(雖然我們通常需要對標題做更多的事情來使它們真正地跨語言;也就是說,將它們封裝在extern "C"如果我們正在編譯C+)。



查看完整回答
反對 回復 2019-07-27
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

我知道你的問題與C+有關,但對于C,答案見K&R,第72-73頁:

此外,如果函數聲明不包括參數,如

double atof();

這也意味著對atof的參數沒有任何假設;所有參數檢查都被關閉??諈盗斜淼倪@一特殊含義是為了允許舊的C程序使用新的編譯器進行編譯。但是在新的程序中使用它是個壞主意。如果函數接受參數,則聲明它們;如果不使用參數,則使用void。




查看完整回答
反對 回復 2019-07-27
  • 3 回答
  • 0 關注
  • 418 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號