Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 802

Создание ссылки на функцию

12.02.2014, 11:42. Показов 1695. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Осваиваю с++ и borland с++ в частности совсем недавно, столкнулся с проблемой создания ссылки на функцию/процедуру.
Делаю так:
C++
1
2
3
typedef void __fastcall(TFMain::*FunctionType)(int);
FunctionType function = &TFMain::Test;
(*function)(54);
компилятор пишет на строке вызова функции по адресу: Illegal use of member pointer
В чем ошибка?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.02.2014, 11:42
Ответы с готовыми решениями:

Создание ссылки на функцию и использования функции minimize_scalar
Здравствуйте, вопрос такой, как создать ссылку на функцию, в которой лежат некоторое количество функций и потом полученную функцию...

Ссылки и указатели на функцию
Если передавать значение в функцию через указатель и ссылку,то в обоих случаях передаётся адрес,а не значение? И ещё: int *...

Возврат ссылки на функцию.
Здравствуйте, можете пожалуйста объяснить чем отличается когда функция создается просто каким то типом, и когда она создается ссылкой на...

4
Хочу в Исландию
 Аватар для skaa
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
12.02.2014, 19:47
Надо объект класса создавать, что-то типа:
C++
1
2
3
4
  void __fastcall (TForm1::*function3)(int);
  function3=&TForm1::Test;
  TForm1    *oTForm1=new TForm1(NULL);
  (oTForm1->*function3)(54);
1
389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 802
12.02.2014, 21:40  [ТС]
мм так а если все это дело в cpp формы. Т.е. в файле реализации в каком то методе я хочу объявить ссылку на другой метод из этого же файла, мне постоянно нужно создавать еще и ссылку на эту же форму? т.е. это не тоже самое, что this->*function или что то такое? завтра попробую когда будет доступ к Borland-у.
0
Хочу в Исландию
 Аватар для skaa
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
12.02.2014, 22:55
Лучший ответ Сообщение было отмечено zelen как решение

Решение

Да, если внутри самой формы, то можно так:
C++
1
  (this->*function3)(54);
, тогда объект не надо создавать.
1
389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 802
13.02.2014, 10:56  [ТС]
Большое спасибо, долго боролся с ошибками...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.02.2014, 10:56
Помогаю со студенческими работами здесь

Передача ссылки в функцию из длл С++
Здравствуйте!!! Нужна помощь. В общем есть ДЛЛ написанная мною на плюсах в VS 2005,она подключается к проекту на vb 6.0. Сейчас все...

Получение ссылки на текущую функцию
Можно ли как-то избежать ошибки как в данном коде >>> def fact(n): ... return n*fact(n-1) if n else 1 ... >>> a...

Передача ссылки в функцию в DLL
Здравствуйте. По этому мануалу сделал DLL https://msdn.microsoft.com/ru-ru/library/ms235636.aspx Возникла проблема с передачей...

Передача ссылки и указателя в функцию
передал ссылку в одну функцию - нормально, передал в другую - выводит неверное значение, тоже самое с указателем. Как можно это исправить?

Передача ссылки на массив в функцию
запутался в 3 соснах... Помахайте плиз) //обьявляю и инициализирую функцию void fShow(char *pNameArray){ for (int i = 0; i...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru