Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
V1033. Variable is declared as auto...
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

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

25 Сен 2018

Анализатор обнаружил переменную, объявленную с помощью ключевого слова 'auto' в языке Си. Ключевое слово 'auto' может запутать человека, привыкшего работать с C++11 и более старшими версиями языка C++. Вместо выведения типа компилятор будет интерпретировать ключевое слово 'auto' как тип 'int'.

Это может привести к неожиданным результатам для программиста, например, в арифметических операциях. Рассмотрим простой пример:

float d = 3.14f;
int i = 1;
auto sum = d + i;

Значение переменной 'sum' будет равно '4', а не '4.14', как мог ожидать разработчик. В программах на языке Си необходимо явно объявить тип переменной:

float d = 3.14f;
int i = 1;
float sum = d + i;

Первый пример полностью корректен для языка Си++. Эта диагностика поможет не ошибиться в проекте, который разрабатывается с использованием двух языков.