Conceptual ambiguity "function prototype"
I found some ambiguities about the concept "function prototype". MSDN tells me this:
Whereas many other sources tell this:
A function declaration precedes the function definition and specifies the name, return type, storage class, and other attributes of a function.
To be a prototype, the function declaration must also establish types and identifiers for the function's arguments.
So to be a function prototype, do "the identifiers for the function's arguments" need to be specified or not? Or just providing parameter types is enough to be a function prototype? I think this is also a problem of the choice of parameter-declaration:
A function prototype is a declaration of a function that declares the types of its parameters.
Can the anonymous be used in a function prototype?
declaration-specifiers declarator // named
declaration-specifiers abstract-declarator<opt> // anonymous
At last, what's necessary information for a function prototype if not? Now I think only parameter types are needed, right?
Thanks in advance!