![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| viii |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 9.7.2007 Репутация: нет Всего: нет |
Здравствуйте!
Вот хочу создать указатель на метод объекта с тем чтобы передать его хранить а потом вызывать метод посредством этого указателя |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
Это сообщение отредактировал(а) MAKCim - 7.10.2007, 13:20 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| viii |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 9.7.2007 Репутация: нет Всего: нет |
к сожалению, так не подходит, поскольку данный указатель передается в функцию
а функция "не знает" куда он указывает а только "знает" что это уазатель на другую функцию, которую необходимо вызвать примерно так:
при этом нельзя делать метод do_nothing статическим, поскольку, в реальной программе, ему необходим доступ к нестатическим свойствам и методам объекта |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Надо использовать что-то типа boost::bind.
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Для вызова метода объекта надо ещё згать - для какого объекта вызывать
|
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
мож я чего не догоняю - тогда поправьте меня
но вроде функции-члены класса отличаются от обычных тем, что в них "нужно" передавать еще и this. а компилятор делает это сам. как же можно вызвать функцию-член класса, если
?? Добавлено через 37 секунд ЗЫ. скорее всего я просто перефразировал ответ Любителя |
|||
|
||||
| viii |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 9.7.2007 Репутация: нет Всего: нет |
мне бы это подошло
только компилятор ругается на строчку
говорит: Error: kursak.cpp(27,11):Qualifier 'boost' is not a class or namespace name а пользую я Borland C++ 5.02 Это сообщение отредактировал(а) viii - 7.10.2007, 16:19 |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| viii |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 9.7.2007 Репутация: нет Всего: нет |
ну так, может быть, другой подскажете?
|
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Очень просто... Ты про биндеры ничего не слышал? Ручками реализовывать(да, без шаблонов жить не просто -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Сомневаюсь, что полностью, но в целом буст должен ИМХО работать с этим компилером. С соответствующими воркэраундами |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Этот компилер в курсе о существовании шаблонов? -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
На счет буста не знаю, но STL там работает. |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Видимо только по наслышке, раз там даже boost::function не работает(с твоих слов) -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |