Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
V786. Assigning the value C to the X...
menu mobile close menu
Additional information
toggle menu Contents

V786. Assigning the value C to the X variable looks suspicious. The value range of the variable: [A, B].

Apr 18 2017

The analyzer detected that a variable is assigned a value that is beyond its value range.

Consider a few examples that trigger this warning:

bool b;
....
b = 100;

Assigning the 100 value to a variable of bool type makes no sense. This may be a typo, and some other variable was probably meant to be used instead of b.

Another example:

struct S
{
  int flag : 1;
}
....
S s;
s.flag = 1;

The flag bit field can take values from the range [-1, 0], not [0, 1], as it might seem at first. The reason is that this variable is signed. If you need a bit field with the range [0, 1], make it unsigned:

struct S
{
  unsigned flag : 1;
}
....
S s;
s.flag = 1;

This diagnostic is classified as:

You can look at examples of errors detected by the V786 diagnostic.

Take
a chance!

Take a chance —
spin a wheel.

Prize circle Prize circle Outer ring

Congrats! You've won a 30-day trial license!

You tricked the system, well done! Get a 30-day trial as your prize!