The analyzer has detected a variable declared using the 'auto' keyword in C code. Using this keyword could confuse developers accustomed to working with C++11 or higher versions of C++. Instead of deducing the type, the compiler will interpret the 'auto' keyword as type 'int'.
This may have unexpected results, for example, in arithmetic operations. Consider the following simple example:
float d = 3.14f;
int i = 1;
auto sum = d + i;
The value of the 'sum' variable will be '4', not the expected '4.14'. In C programs, the variable type must be declared explicitly:
float d = 3.14f;
int i = 1;
float sum = d + i;
The original code fragment is absolutely correct from the viewpoint of the C++ language. This diagnostic will help you avoid errors in projects that make use of both languages.
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!