Quote:
Change: In C + +, a function declared with an empty parameter list takes no arguments.
In C, an empty parameter list means that the number and type of the function arguments are unknown"
Example:
int f(); // means int f(void) in C + +
// int f(unknown) in C
Rationale: This is to avoid erroneous function calls (i.e. function calls with the wrong number or type of
arguments).
Effect on original feature: Change to semantics of welldefined
feature. This feature was marked as
“obsolescent” in C.
Difficulty of converting: Syntactic transformation. The function declarations using C incomplete declaration
style must be completed to become full prototype declarations. A program may need to be updated
further if different calls to the same (nonprototype)
function have different numbers of arguments or if the
type of corresponding arguments