Мне пришлось недавно переизобразить свой ноутбук и переустановить visual studio (пробовал 2018, но это меня раздражало, поэтому я откатился на 2015 год, который, кажется, работает намного лучше), я открыл старый проект, и сначала онсказал, что не смог найти набор инструментов для сборки, поэтому я перенаправил его на тот, который только что установилИ попытался снова скомпилировать, и мне не удалось сказать, что в следующей функции:
string getinvnum(vstring range) {
int inv;
string ret;
for (int i = 0; i < range.size(); i++) {
int temp = stoi(range[i]);
if (temp > inv) {
inv = temp;
}
}
return to_string(inv);}
, что cpp(266): error C4700: uninitialized local variable 'inv' used.
и демонстративно отказывается от компиляции.
Строка 266 относится к оператору if.Это совсем не сложная функция, и она, безусловно, инициализируется, фактически, если я наведу указатель мыши на «inv», intellisense обнаружит его замедление.
Затем я решил скопировать и вставить свой исходный код вновый проект, поскольку эта ошибка просто не имела смысла для меня, закомментировал код, относящийся к другим включенным файлам проекта, и попытался перекомпилировать, и он работал без каких-либо жалоб.
Есть ли что-то не так с этим кодом, иликакая-то проблема с изменением в наборе инструментов?Пока все работает, я просто хотел бы понять, если возможно, что случилось / что я сделал, что вызвало эту ошибку.
Может кто-нибудь объяснить мне, почему Visual Studio делает это со мной?
Редактировать: просто скопировать все решение в новый проект, и теперь все это создается без каких-либо проблем.Однако оригинальный, хотя и идентичный код, все еще говорит мне об этой же ошибке.