Инициализация оператора for
соответствует правилам для объявлений локальной переменной .
Это было бы законно (если глупо):
for (int a = 0, b[] = { 1 }, c[][] = { { 1 }, { 2 } }; a < 10; a++) {
// something
}
Но попытка объявить различные типы Node
и int
так, как вы хотите, недопустима для объявлений локальных переменных.
Вы можете ограничить область применения дополнительных переменных в методах, используя такой блок:
{
int n = 0;
for (Object o = new Object();/* expr */;/* expr */) {
// do something
}
}
Это гарантирует, что вы не сможете случайно использовать переменную в другом месте метода.