程式設計習慣-函式無引數用void填充
如果函式無引數,那麼應宣告其引數為void
<pre name="code" class="cpp">
int function()
{
return 1;
}
int main(void)
{
int ret = 0;
ret = function(2);
printf("rst:%d\n", ret);
return 0;
}
如果用gcc編譯器(即C語言編譯器)編譯如上程式碼,沒有編譯錯誤,函式正常return(1),但是此時程式設計師已經誤用了function函式,給其傳入了引數,但是編譯器忽略了,因為在定義function函式的時候沒有指定引數必須為空,而是處於預設狀態。
但是如果使用g++(C++編譯器)編譯器去編譯這段程式碼,就會出現編譯錯誤如下:
"error: too many arguments to function ''int function()"
所以,無論在C 還是C++中,若函式不接受任何引數,一定要指明引數為void。以免某些編譯器忽略了程式碼錯誤!!!
參考:
http://c.biancheng.net/cpp/html/444.html
相關文章
- 14.程式程式設計進階:函式的引數程式設計函式
- 函式定義、函式的引數、函式的預設引數函式
- 程式設計好習慣程式設計
- 好的程式設計習慣程式設計
- 程式中的函式引數函式
- 函數語言程式設計-鏈式程式設計RAC函數程式設計
- 3.3.2 函式的預設引數和佔位引數 函式過載函式
- 15個程式設計好習慣程式設計
- C#程式設計好習慣C#程式設計
- 函式式思維和函數語言程式設計函式函數程式設計
- Scala函式與函數語言程式設計函式函數程式設計
- Excel函式應用教程:函式的引數(轉)Excel函式
- TypeScript 函式可選引數和預設引數TypeScript函式
- 函式引數 引數定義函式型別函式型別
- Python 函式(預設引數)Python函式
- 留存統計 引數聚合函式函式
- iOS鏈式程式設計及函數語言程式設計iOS程式設計函數
- 瞭解 JavaScript 函數語言程式設計 - 宣告式函式JavaScript函數程式設計函式
- 函數語言程式設計(2) 高階函式函數程式設計函式
- C++行內函數、函式過載與函式預設引數C++函數函式
- javascript為函式設定預設引數JavaScript函式
- typedef void (*Fun) (void) 的理解——函式指標——typedef函式指標函式指標
- 谷歌程式設計師有哪些高效的程式設計習慣?谷歌程式設計師
- 函數語言程式設計:Lambda 表示式函數程式設計
- 人人都能學會的python程式設計教程12:函式的引數Python程式設計函式
- 函式程式設計函式程式設計
- 輕鬆學習 JavaScript (3):函式中的預設引數JavaScript函式
- 使用java模擬scala函數語言程式設計將函式作為引數傳入方法中Java函數程式設計函式
- 程式碼審查和不良程式設計習慣程式設計
- JavaScript函數語言程式設計學習JavaScript函數程式設計
- 函數語言程式設計(一) 認識“程式設計正規化”和“函式”函數程式設計函式
- Python 函數語言程式設計 – 高階函式Python函數程式設計函式
- 函數語言程式設計4-高階函式函數程式設計函式
- Python函數語言程式設計指南(2):函式Python函數程式設計函式
- Python函數語言程式設計自帶函式Python函數程式設計函式
- 實用Common Lisp程式設計——函式Lisp程式設計函式
- Lambda表示式入門--函數語言程式設計與函式式介面函數程式設計函式
- js函式作為函式的引數程式碼例項JS函式