![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 30.09.2008
Сообщений: 1
|
![]()
Задача:
В классе иметь массив ссылок на функции этого класса, чтобы вызывать их по номеру из массива. Также в классе должна присутствовать функция обработки массива с целью получения ссылки на функции (по номеру в массиве) и их вызова. Например: нужно вызвать функцию №2 класса MyClass........ typedef void (*PF)(void); //Это для ссылки на функцию // Есть класс: class MyClass { public: void func1(void){} void func2(void){} PF massiv[2]; // создаем массив ссылок для функций MyClass(void) // Конструктор { // в конструкторе присваиваем ссылкам адреса функций massiv[0]=&func1; massiv[1]=&func2; } }; Выскакивает ошибка в строках конструктора: Error[Pe144]: a value of type "void (__nearfunc __version_3 MyClass::*)(void)" cannot be used to initialize an entity of type "PF" Насколько я понял: на стадии конструирования класса еще не известны точные адреса функций Приняв это предположение как факт, я попытался передать конструктору адрес класса: MyClass(MyClass* adres) // Конструктор { // в конструкторе присваиваем ссылкам адреса функций massiv[0]=&adres->func1; massiv[1]=&adres->func2; } Теперь выскочила друкая ошибка: Error[Pe300]: a pointer to a bound function may only be used to call the function Как правильно реализовать задачу? Последний раз редактировалось therom; 30.09.2008 в 16:15. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
массив указателей на методы класса? | cout | Общие вопросы C/C++ | 2 | 08.05.2008 09:43 |
Чем различаются функции чтения класса istream C++ | Go6a | Помощь студентам | 3 | 25.04.2008 11:04 |
С++.Массив и подпрограмма функции | SkyDreamer | Помощь студентам | 0 | 23.11.2007 20:45 |
Автоматический вызов функции класса | Flaton | Общие вопросы C/C++ | 4 | 19.10.2007 17:56 |
Статичиские функции класса | Дмитрий_Ч | Общие вопросы C/C++ | 12 | 04.10.2007 16:19 |