Инициализирующая часть цикла for
может быть только одним оператором.Вы можете объявить несколько переменных общего типа в одном выражении, например int i, j;
, но вы не можете объявить несколько переменных разных типов таким образом.
Если вы хотите ограничить оба значения теломfor
-loop, вы можете заключить объявление и цикл for
в один составной оператор, например так:
{
double j = 0.0;
for (int i = 0; /*test*/; /*at-end statement*/) {
/* body */
}
}
Вы также можете обойти это, используя анонимную структуру (хотя этопросто затеняет смысл, он делает именно то, что вы хотите):
for (struct {int i; double j;} ctx = {0, 0.0}; /*test ctx.i or ctx.j*/; /*at-end*/) {
/*body*/
}