Предупреждение об объявленной переменной - страница 2

 

Спасибо огромно.

Инициализировал и помогло. 

А как быть когда такая же ошибка появляется по отношению к массиву?

Объявил вот так:

double MASS[20];

Ошибка possible use of uninitialized variable 'MASS'

Спасибо.

 
Alexey Volchanskiy:

что локальные переменные заранее обнуляются

А заранее это как?

 

Ворнинги очень нужная вещь. Но этот просто нелепость. 

 
protr:

Спасибо огромно.

Инициализировал и помогло. 

А как быть когда такая же ошибка появляется по отношению к массиву?

Объявил вот так:

Ошибка possible use of uninitialized variable 'MASS'

Спасибо.

Или на глобальном уровне объяви или

 double MASS[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

:)))))))))))))))))))))) 

 
protr:

А как быть когда такая же ошибка появляется по отношению к массиву?

ArrayInitialize() >>>
 
Vasyl Nosal:
 

Ворнинги очень нужная вещь. Но этот просто нелепость. 

Это - не нелепость.

Повторю, если у вас Digits() будет равно единице - функция F_First_price() может вернуть мусор.

Алексей правильно заметил, что многие считают, что значение объявленной переменной нулевое - но это вовсе не обязательно так. Соответственно, компилятор должен предупредить о том, что возможно использование неинициализированной переменной. 

 
Alexey Volchanskiy:

А вообще, ворнинги это нужная и полезная вещь. Меня не раз спасали от глупых ошибок по невнимательности.

Во-во. У меня - такой же опыт. Всегда добиваюсь, чтобы код компилировался без единого варнинга.

 

Спасибо... тогда правильно 

double MASS_PLUS[];
ArrayResize(MASS_PLUS,20,5); 
ArrayInitialize(MASS_PLUS,EMPTY_VALUE);

 Или сразу 

double MASS_PLUS[20];
ArrayInitialize(MASS_PLUS,EMPTY_VALUE);

 Спасибо.

 
George Merts:

Это - не нелепость.

Повторю, если у вас Digits() будет равно единице - функция F_First_price() может вернуть мусор.

Алексей правильно заметил, что многие считают, что значение объявленной переменной нулевое - но это вовсе не обязательно так. Соответственно, компилятор должен предупредить о том, что возможно использование неинициализированной переменной. 

Дык. А от того что её проинициализируешь 0 то мусор не вернётся?
 
Vasyl Nosal:
Дык. А от того что её проинициализируешь 0 то мусор не вернётся?

Нет, вернется ноль. И это потом можно проверить.

 
protr:

... 

 Или сразу 

double MASS_PLUS[20];
ArrayInitialize(MASS_PLUS,EMPTY_VALUE);

 ....

Так лучше. 
Причина обращения: