V1033. Variable is declared as auto in C. Its default type is int.


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.


Bugs Found

Checked Projects
355
Collected Errors
13 303