The analyzer detected a potential error: code contains comparison of enum values which have different types.
Consider a sample:
enum ErrorTypeA { E_OK, E_FAIL };
enum ErrorTypeB { E_ERROR, E_SUCCESS };
void Foo(ErrorTypeB status) {
if (status == E_OK)
{ ... }
}
The programmer used a wrong name in the comparison by accident, so the program's logic is disrupted. This is the correct code:
void Foo(ErrorTypeB status) {
if (status == E_SUCCESS)
{ ... }
}
Comparison of values of different enum types is not necessarily an error, but you must review such code.
This diagnostic is classified as:
|
You can look at examples of errors detected by the V556 diagnostic. |
Was this page helpful?
Your message has been sent. We will email you at
If you do not see the email in your inbox, please check if it is filtered to one of the following folders:
Take
a chance!