V2004. Explicit conversion from 'float/double' type to unsigned integer type.

This diagnostic warning was added at the request of users.

The analyzer allows you to detect all the explicit floating-point type conversions to integer unsigned types.

Consider some examples of constructs the analyzer will generate this diagnostic message on:

float f;
double d;
long double ld;
unsigned u;
size_t s;
u = unsigned(f); // V2004
s = static_cast<size_t>(d); // V2004
u = (unsigned)ld;  // V2004

V2003 is a related diagnostic message.

According to Common Weakness Enumeration, potential errors found by using this diagnostic are classified as CWE-681.

Bugs Found

Checked Projects
Collected Errors
13 764