![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| =Женек= |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
Это работает:
А вот это не работает:
|
||||
|
|||||
| srd |
|
||||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
А это и не должно работать. sizeof (MainMenu) - это размер массива, а sizeof (curren_point) - это размер указателя, а не массива. Кажется, я это писал выше по теме. -------------------- Не смей читать мою подпись!!! |
||||
|
|||||
| =Женек= |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
Да, писал... Я это понял. Я это к тому что формула приведенная не подходит...
|
|||
|
||||
| =Женек= |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
Srd, если не сложно, помогите советом. ПРилагаю код (функции вырезал, дабы проще было разобраться).
Как бы вы решили задачу определения количества пунктов меню при заходе в дочернее подменю, и, самое главное - при возвращении в родительское меню. Комментарии прилагаются Заранее благодарен.
|
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Насколько я понял, требуется что-то вроде такого (здесь просто иллюстрация, написанная в таком виде, чтобы его можно было быстро скомпилировать и посмотреть):
Возможно, кто-то предложит вариант лучше. -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| =Женек= |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
Спасибо за пример, он интересен, но...
Я конечно плохо знаю С, но все же имею представлени о том, что такое программирование вообще. Нерационально хранить отдельно информацию о количестве элементов массива, если у нас есть сам массив. Да, можно конечно передавать это количество в функуию и программа будет работать, но это извращение. Любая программа должна быть самодостаточна. Так вот, если у нас есть массив, то даже если нет функции, которая считает элементы, можно их вручную посчитать. Однако тут ни один вариант не прокатил... Мне все же непонятно - даже если мы работаем с указателями - вот так: sprintf(s,"%p", point_to_menu[i].title); то неужели нельзя определить существует ли point_to_menu[i].title для данного i? Внутри вышеописанной функции EnterMenuItem это работало - через !=Null. Когда же я определил current_point в теле главной функции - проверка на NULL не срабатывает... |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Да без проблем, но только никакой экономии тут нет. Проще хранить количесво элементов, чем каждый раз его считать.
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |