const
y0: integer = 20;
//...
y0 := Image1.Height - y0;
//...
[Error] Unit1.pas(103): Left side cannot be assigned to
ыыы... Чего то я вааще в шоке
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Типизированные константы, Дельфи |
sheka |
Сообщение
#1
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
const [Error] Unit1.pas(103): Left side cannot be assigned to ыыы... Чего то я вааще в шоке |
volvo |
Сообщение
#2
|
Гость |
Цитата И что делать? Глобальные переменные инициализировать при описании, локальные - в теле вложенного блока. И не в коем случае не пытаться заменить слово Var на Const только для того, чтобы программа откомпилировалась. Не забывай, типизированная константа сохраняет значение при повторном входе в функцию (за счет того, что хранится не в стеке, а в сегменте данных), переменная - нет.Цитата Хотя почему бы это не сделать потом?.. Не поверишь Из-за того, что язык расширяется, "потому что левая пятка разработчика так захотела". Захотел Борланд сделать константу с описанием типа - сделал (а не было ее в стандартном Паскале, там были только обычные, настоящие, константы). Захотел сделать инициализацию переменной при объявлении - сделал (и этого тоже в стандартном Паскале не было). Вот и наделали. Константа может изменять значение (уже интересно), но переменной значение присвоить нельзя (еще более интересно), если она только не описана глобально.А между тем в более продуманных языках все нормально: procedure p is |
Текстовая версия | 27.04.2024 20:12 |