Почему переменную нельзя инициализировать внутри цикла?
Как разрулить данную проблему?
А массив можно только объявить. Странная логика.
Как разрулить данную проблему?
А массив можно только объявить. Странная логика.
Это же компилятор, а не статический анализатор кода. Если он будет изучать подобные случаи, то время компиляции и стоимость разработки компилятора возрастут во много раз.
Потому разработчики компилятора приняли компромиссное решение: считаем, что любой цикл может ни разу не выполниться.
тупой компилятор не понимает, что цикл будет выполнятся, вот и выдает предупреждение. Инициализируйте при объявлении.
Это сделано что бы избегать пустых переменных.
Задай значение по умолчанию для переменной int a = 0 к примеру м проблема решится
цикл может выполняться от 0 до ...раз...
т. е. есть шанс что не будет выполняться вообще, и потому и пишет "might not...", а не категорично "will not..."
тем кто считает что тут и так понятно что цикл выполнится.. тогда понятно и другое... переменной а будет несколько раз присвоено одно и то же значение... и потому смысла нет в таком цикле...
автор, какая практическая польза от такого цикла?
просто напиши
int a = 8;
и оставь цикл совсем пустой ...
ченить типа for (var int i = 1....