91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳談C與C++的函數聲明中省略參數的不同意義

發布時間:2020-09-14 00:07:49 來源:腳本之家 閱讀:212 作者:菜鳥明 欄目:編程語言

一直都以為C/C++中形如

int func();

這樣的函數聲明其意義就是一個參數 void(沒有參數)的函數。然而今天在看C++的時候突然看到這么一句:

對于帶空參數表的函數,C和C++有很大的不同。在C語言中,聲明
int func2();
表示“一個可帶任意參數(任意數目,任意類型)的函數”。這就妨礙了類型檢查。而在C++語言中它就意味著“不帶參數的函數”。

這一點老師并沒有講到,學校教科書里也沒有提到,帶著好奇心,我特意試了一下

test.c

#include <stdio.h>

void fun();
int main()
{
  fun(1, 1);

  return 0;
}

void fun(int a, int b)
{
  printf("%d\n", a+b);
}
編譯通過
$ gcc -Wall test.c -o test
$ ./test 2
$ mv test.c test.cpp
$ g++ -Wall test.cpp -o test
test.cpp: 在函數‘int main()'中:
test.cpp:6:10: 錯誤:too many arguments to function ‘void fun()'
 fun(1, 1);
 ^
test.cpp:3:6: 附注:在此聲明
 void fun();
   ^~~

這也解釋了為什么主函數要寫成這樣的原因

int main(void)

以上這篇詳談C與C++的函數聲明中省略參數的不同意義就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

奉新县| 含山县| 申扎县| 利津县| 辽阳县| 泗洪县| 泉州市| 泰安市| 虹口区| 松阳县| 潞城市| 蒙自县| 宁津县| 湾仔区| 桦川县| 堆龙德庆县| 烟台市| 若尔盖县| 会宁县| 南部县| 绩溪县| 沐川县| 荥经县| 临潭县| 凤阳县| 哈尔滨市| 黑山县| 绍兴市| 社会| 合水县| 巧家县| 泗洪县| 庄浪县| 旬阳县| 句容市| 洛扎县| 烟台市| 古蔺县| 无极县| 永城市| 周至县|