1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| TarasBer |
31.01.2011 15:09
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
И что делать с этим raised CONSTRAINT_ERROR : test.adb:24 discriminant check failed ? В процедуре через out-параметр присвоилось нормально, однако. А вот t3'access.all := t1'access.all; - ошибка дискриминанта Почему прямо присваивать можно, а через указатель - нельзя? Так и написано в стандарте? Если поставить точку останова, а потом добить пустых строчек так, чтобы эта точка оказалась на строчке, на которой ничего нет, а потом отрубить отладчик, пересобрать код, перезапустить отладчик, то эту точку останова уже не убрать. Дизассмеблер не взлетел: Couldn't get assembly code. Кстати, смысла на ограничения параметров в функциях нет никакого. Избавление от побочных эффектов? Ха, толку, если можно писать во внешние переменные. Зато костыль с access получится на славу по уродливости. Зачем вообще языки Паскалевого семейства делают ненужное разделение на процедуры и функции? Да, концепция красивая, типа процедура - то, что выполняется, функция - то, что возвращает значение, но в условиях реальности она только мешает. Сообщение отредактировано: TarasBer - 31.01.2011 15:11 -------------------- |
volvo Думать, прежде, чем писать такие вещи. Ибо компиля... 31.01.2011 17:24
TarasBer > Компилятор сначала проверит, а имеешь ли ты п... 31.01.2011 18:11
volvo Значит, тебе не нужна Ада. Используй С и действуй ... 31.01.2011 20:13
-TarasBer- Мне всего-то надо создать в куче сущность с дискри... 31.01.2011 20:49
volvo Я сказал на операцию присваивания, а не на операци... 1.02.2011 13:28
TarasBer > Затем, чтобы контролировать, имеешь ли ты в д... 1.02.2011 14:15
volvo Пожалуйста. Только тебе это не поможет - ты все ра... 2.02.2011 12:35
TarasBer > Либо отказаться от использования discriminant... 2.02.2011 13:03
volvo В Стандарте? Где именно, можно уточнить? Ибо это н... 2.02.2011 17:05
TarasBer > В Стандарте? Где именно, можно уточнить? Ибо ... 3.02.2011 13:33
volvo Оно уже сейчас есть в языке. Но только в А2005, а ... 3.02.2011 14:58
TarasBer > С точки зрения компилятора эти 2 типа записи ... 3.02.2011 15:22
volvo Я не про Модулу в данном случае. Я про тот проект,... 3.02.2011 17:52
-TarasBer- > Я не про Модулу в данном случае. Я про тот пр... 3.02.2011 19:48
volvo Не знаю, было ли у того проекта отдельное название... 3.02.2011 20:55
-TarasBer- > Но Вирт продвигал там идеи Алгол-W
Почитал в... 3.02.2011 21:19
volvo Что именно ты пробовал сделать, можно посмотреть? ... 3.02.2011 21:38
TarasBer Ну классический пример (из http://8vmr.livejournal... 4.02.2011 10:35
volvo Стоп. Ада такого не позволит по одной простой прич... 4.02.2011 13:30
TarasBer > Только у меня возникает вопрос: а почему надо... 4.02.2011 13:39
volvo Лямбды нужны там, где нет замыканий. В С++ их нет ... 4.02.2011 14:15![]() ![]() |
|
Текстовая версия | 15.11.2025 16:42 |