Форум » [x]Harbour » ошибки E00xx » Ответить

ошибки E00xx

and3081: Подскажите пожалуйста, где взять описание ошибок Exxxx компилятора харбор ?

Ответов - 6

Dima: and3081 Обычно компилятор пишет что за ошибка. Пробей в поиске например Error E0030 , кроме номера ошибки рядом и краткая расшифровка идет.

and3081: краткую расшифровку вижу, но по ней не сразу догадаешься о причине. Жаль нет гуида как для клиппера. Показал невнятный текст со ссылкой на строку с NEXT. Клиппер конструкцию FOR n2=n2+1 to 10 .... берет, а харбор съел только: n2=n2+1 FOR n2=n2 to 10 ... NEXT А ошибка была E0022 Invalid lvalue '@' на строке NEXT.

PSP: Вообще-то, в структуре FOR-NEXT вместо знака "=" должно быть ":="


Sergy: and3081 пишет: FOR n2=n2 to 10 ... NEXT А ошибка была E0022 Invalid lvalue '@' на строке NEXT. Все логично. (n2=n2) дает результат TRUE и начинается первый проход цикла. на NEXT переменной цикла присваивается следующее значение (в случае FALSE это будет TRUE, а в случае TRUE - скорее всего, должен быть выход из цикла) но сравнение с NUMERIC значением 10 дает ошибку. Вообще, для избежания подобных разночтений, давно отказался от знака "=", который может быть как сравнением, так и присваиванием. Использую только == или :=

and3081: действительно в гуиде на клип 5.01 синтаксис FOR n=start а на клип 5.2 уже FOR n:=start Я перехожу с 5.01 тем не менее синтаксис FOR n=start, т.е.без выражений харбор отрабатывает как присвоение, а не сравнение. А заругался только на выражение, поставил в скобках- и харбор нормально отработал FOR n=(n+1) to 10. Т.е. n=n+1 харбор воспринял как сравнение n=n и к нему прибавлял +1. А со скобками присваивает без проблем :)

PSP: and3081 пишет: а старом клипе это работает как присвоение Это, скорее, ошибка клиппера. Даже в NG указан ":=" http://www.itlnet.net/programming/program/reference/c53g01c/ng102596.html



полная версия страницы