Page 1 of 1

Is 16.4 violated if 16.3 is?

Posted: Thu Oct 11, 2012 9:23 pm
by gs
Given the following code:

Code: Select all

void f(int);
void f(int x){}

Does this code violate rule #16.4, identifiers used in the declaration and definition of a function shall be identical? While the lack of a parameter name in the prototype violates #16.3, I am not sure if violating #16.4 is possible in that case.

Re: Is 16.4 violated if 16.3 is?

Posted: Tue Oct 16, 2012 5:48 pm
by misra-c
No is doesn't really make sense to flag a violation of both rules in this case. Therefore, to violate Rule 16.4, both identifiers need to be present, but different.