Встречено а ожидалось что значит
При явном указании типа ошибка: Встречено ‘.’, а ожидалось ‘;’ #1318
Comments
vdjenjer commented Oct 2, 2018
И вот так тоже работает:
The text was updated successfully, but these errors were encountered:
vdjenjer commented Oct 2, 2018
Кстати, в похожем случае выдаётся другая ошибка.
Program22.pas(3) : Встречено ‘:’, а ожидалось ‘)’
Опять же при автовыведении типа переменной всё в порядке.
EmilySeville7cfg commented Oct 2, 2018 •
Код из первого Вашего поста, переведенный на C#:
miks1965 commented Oct 2, 2018
spectatorBH commented Oct 3, 2018 •
@MrFresnel Ваши примеры (№ 1, 3, 4) не были учтены в данном коммите. Хотя issue #1319, аналогичный вашему примеру №2 со срезами, был закрыт как не имеющий пока(?) решения по техническим причинам (неустранимые конфликты в грамматике). Не знаю, относится ли это также к полям, свойствам и методам.
Возможно, имеет смысл создать для них отдельные issue?
SunSerega commented Oct 3, 2018
Возможно, имеет смысл создать для них отдельные issue
miks1965 commented Oct 4, 2018
Я создал issue для s[::]
EmilySeville7cfg commented Oct 4, 2018 •
Возможно, имеет смысл создать для них отдельные issue?
Для срезов уже сделали. Для полей, методов и свойств, думаю, хватило бы и данного Issue. Да, думаю, надо было для срезов отдельный Issue сделать. Тематика Issue хоть и близкая, но, все-же, отличается деталями.
miks1965 commented Oct 4, 2018
spectatorBH commented Oct 7, 2018
miks1965 commented Oct 7, 2018
Это не будет работать. Там лямбда в правой части, конфликтует в грамматике с другими инициализаторами переменной с явным указанием типа
miks1965 commented Oct 7, 2018
Примеры 1-4 компилируются
vdjenjer commented Oct 8, 2018 •
Это не будет работать. Там лямбда в правой части, конфликтует в грамматике с другими инициализаторами переменной с явным указанием типа
Ясно. Только там и без лямбд всё плохо. Вот такая же ошибка:
miks1965 commented Oct 8, 2018
Попробуйте еще раз. Закачал новую версию. Отпишитесь. У меня всё работает
SunSerega commented Oct 8, 2018 •
Что значит встречено а ожидалось
После констант начали описывать переменные, а об этом компилятору забыли сказать:
cоnst n=5; ← константы
j: array [1..n] of real; ← переменные
Помогите, пожалуйста, пишет, что ‘Встречено else, а ожидалось ;’
Ответы (1)
У вас в программе несколько ошибок с расстановкой операторов и терминирующих точек с запятой. Вот рабочий вариант:
Обратите внимание на расстановку точек с запятыми.
Comments
Copy link Quote reply
vdjenjer commented Oct 2, 2018
И вот так тоже работает:
This comment has been minimized.
Copy link Quote reply
vdjenjer commented Oct 2, 2018
Кстати, в похожем случае выдаётся другая ошибка.
Program22.pas(3) : Встречено ‘:’, а ожидалось ‘)’
Опять же при автовыведении типа переменной всё в порядке.
This comment has been minimized.
Copy link Quote reply
Alvin-Seville commented Oct 2, 2018 •
Код из первого Вашего поста, переведенный на C#:
То есть, проблема в том, что поле, свойство или метод не может быть вызван для созданного на лету экземпляра класса или записи, если тип переменной указан явно. То же самое касается и срезов, лишь с тем отличием, что для них требуется массив или список экземпляров класса/записи. Строку можно рассматривать как частный случай массива – массив символов. Я сделал отдельными программами тесты, чтобы удобнее было посмотреть всем желающим.