Sowohl in C als auch in C++ kann man explizit angeben, daß eine
Funktion gar keine Parameter bekommt (f( void )
), oder mit
einer variablen Anzahl von Parametern aufgerufen werden kann
(beispielsweise f( ... )
).
Aber die Angabe einer leeren Parameterliste (f()
) unterscheidet sich
in C und C++:
In C bedeutet eine leere Parameterliste in einer Funktionsdeklaration,
daß die Funktion eine unbekannte Anzahl irgendwelcher Parameter
erwartet (das entspricht f( ... )
).
In C++ dagegen drückt man damit aus, daß die Funktion keine
Parameter erwartet. int getchar();
ist in C++ also gleichbedeutend
mit int getchar( void );
. Damit hat eine leere Parameterliste
die Wirkung von f( void )
.