Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The type of actual parameter 'operand' should exactly match the type 'typename'
This warning is reported when an enum
formal wasn't passed a member of the enum
, but may also be used for other types.
Because C permits enum
types to be used interchangeably, and interchangeably with constants, it's easy to pass the wrong enum
value to a function without an error.
For enum
types, if the type of an enum
parameter is annotated with _Enum_is_bitflag_
, arithmetic is permitted on the parameter. Otherwise the parameter must be of exactly the correct type. If a constant is strictly required, warning C28137 may also apply.
This rule can be used for other parameter types as well; see the function documentation for why the types must match exactly.