若是在C++里,沒有區(qū)別,但是,對于早期C程序的函數(shù)而言,聲明的參數(shù)列表為空或者void,都是一個意思——參數(shù)任意!也就是說,你可以像該函數(shù)傳遞任何參數(shù),編譯器不做類型檢查!某些情況下,這是非常危險的。因此,在C++里,編譯器對此的解釋就是:該函數(shù)沒有任何參數(shù)!如果你像該函數(shù)傳遞參數(shù),編譯器會報錯。

舉個例子:
C中:
void fun(void);
調(diào)用時,你可以傳遞任何參數(shù);例如:
int a; float f; char c;
fun(a); fun(f); fun(c);
都是對的。因為編譯器不會檢查該函數(shù)的參數(shù)都是什么。

C++中:你只能這么調(diào)用該函數(shù):
fun();
不能有任何參數(shù)! 否則報錯。