萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> C與C++ 無參函數的區別解析

C與C++ 無參函數的區別解析

在《C++ 編程思想》:“關於無參函數聲明,C與C++有很大的差別。在C語言中,聲明int fun1(),意味著一個可以有任意數目和類型的函數;而在C++中,指的卻是一個沒有參數的函數”  

下面是一個C語言的函數和C++的函數驗證了這段話

復制代碼 代碼如下:
# include<stdio.h>

int fun1();

int main()
{
 int a = fun1(3, 4);
 printf("%dn", a);
 return 0;
}

int fun1(int a, int b)
{
 return a + b;
}


結果沒有任何問題,輸出結果為7,也即fun()可以聲明fun(int, int)

復制代碼 代碼如下:
# include<iostream>
using namespace std;

int fun1();

int main()
{
 int a = fun1(3, 4);
 cout << a << endl;

 return 0;
}

int fun1(int a, int b)
{
 return a + b;
}


編譯出錯,“fun1”: 函數不接受 2 個參數。說明在C++中fun()不可以聲明fun(int, int)

 

copyright © 萬盛學電腦網 all rights reserved