#cpp #циклы
#include#include
Ответы
Ответ 1
В синтаксисе for for ( init-statement conditionopt ; expressionopt ) statement первая часть - init-statement - является либо выражением, либо объявлением. Вы изначально использовали синтаксис string Value, [...], который явно говорит, что в вашем случае в качестве init-statement вы хотите использовать именно объявление, а не выражение. Однако дальнейший синтаксис [...], Read[I] >> Value не является корректным синтаксисом объявления. Отсюда и ошибка. (Странно, что вы в своем вопросе называете эту часть синтаксиса for "init-expression", хотя в вашем же примере это никакой не expression.) Выбирайте: либо выражение, либо объявление. Перемешать выражение с объявлением вот так вот в лоб, как у вас, не получится.Ответ 2
for (string Value, Read[I] >> Value; !Read[I].eof(); Read[I] >> Value) { Да, так нельзя, потому что Read[I] >> Value - это не объявление переменной. Можно так: for (string Value; Read[I] >> Value, !Read[I].eof(); ) { В коде баг и нужно так: for (string Value; Read[I] >> Value; ) {
Комментариев нет:
Отправить комментарий