![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Делал код менюшки для задачи в универ, столкнулся с проблемой, когда две вроде бы эквивалентные строки дают разный результат.
(суть следуещего кода такова: у нас есть менюшка, есть класс хандлер, который определяет что какой именнно метод из менюшки стоит вызвать по какой клавише, но в данном тесте описание и клавиши нужны, так как без них тест СРАБАТЫВАЕТ) (код немного упрощён)
если скомпилить в free borland C++ compiler, то получается странный результат.
Помучав другие результаты получаем:
собственно вопрос. это я где-то всё же накосячил, или мои любимые борла и дигимарса оконфузились? -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 3 Всего: 106 |
убери конструкторы из Handler и снова попробуй, думаю это поможет.
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Нельзя. Борланд не понимает
Собственно поэтому конструктор и добавлен. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 3 Всего: 106 |
а борланд агрегатов вообще не понимает?
Добавлено @ 22:20 тогда попробуй еще копирующий конструктор добавить. Добавлено @ 22:23 хотя это скорее не выход, а причина ( -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| MAKCim |
|
||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
странно что
в одном случае структура, представляющая указатель на функцию, копируется, в другом передается по ссылке кроме уменьшения эффективности в 1-ом случае должно быть все ОК GremlinProg
что это даст? если он тут где-то и нужен, то компилятор его сгенерирует не хуже
может тогда (и скорее всего) дело в компиляторе -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||
|
|||||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Согласна с MAKCimом насчет компилятора. Помню, еще в досовском борланде иногда встречались необъяснимые глюки, связанные с выравниванием или порядком элементов в структуре. Забавно, наверное, посмотреть, что там в памяти после инициализации лежит. Для эксперименту можно еще явный выравнивающий char после key добавить. -------------------- ... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |