![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| peetonn |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 25.11.2006 Репутация: нет Всего: нет |
скажем есть у нас функции вида:
надо эту функцию присавивать разным переменным. потом просто вызывать
в дельфи то понятно, что это процедурный тип и блаблабла. а вот в С++ как это сделать не знаю....( может кто знает? Это сообщение отредактировал(а) peetonn - 17.12.2006, 19:33 |
||||
|
|||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
|
|||
|
||||
| GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 1 Всего: 14 |
Может указатель поможет? Хотя что понимать под присваиванием. -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
Это сообщение отредактировал(а) MAKCim - 17.12.2006, 19:51 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| peetonn |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 25.11.2006 Репутация: нет Всего: нет |
дык, ясное дело, что както через указатель (или даже ссылку) но как? - в том и вопрос
вот наглядный пример:
грубо говоря так. вся фишка в том, что вид(прототип) у обоих функций одинаков, а тела функций разные. и в коде в зависимости от условия мне надо выбрать или одну или другую Это сообщение отредактировал(а) peetonn - 17.12.2006, 19:49 |
||||
|
|||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
peetonn,
я же написал -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| peetonn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 25.11.2006 Репутация: нет Всего: нет |
MAKCim, да похоже на то! ща попробую.....
|
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 1 Всего: 14 |
Тока * надо убрать сдесь
typedef int (*function_t)(int, char*); -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
GIK,
исправлено (просто торопился) -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| GIK |
|
||||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 1 Всего: 14 |
Вообще то не совсем то, тебе веть надо было чтобы пременные получали значения, а потом использовались как указатели на функцию??? В примере который привел товаришь MAKCim нет переменных, там просто создаются указатели которым присваивается адрес функций (ссылка точнее) Добавлено @ 19:59 MAKCim, не сочти меня наглым, АГА? Добавлено @ 20:05 Вот например пример который присваивает значение переменной, а потом преобразует его в указатель, но тебе надо преобразовать его в указатель на функцию, и все. Но не знаю как это сделать
-------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
||||
|
|||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
GIK, указатель на переменную и указатель на функцию это совершенно разные вещи(второй может быть больше по размеру), поэтому надо обходится без такого привидения или reinterpret_cast использовать.
|
|||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
не может, он равен размеру void* указатель на функцию != указатель на метод
не понял я, что ты хотел своим примером показать -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| peetonn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 25.11.2006 Репутация: нет Всего: нет |
на самом деле, Максим написал как раз то, что я и имел ввиду.
Спасибо, MAKCim |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |