Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2015, 13:10   #1
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию Указатели на функцию

Среда MS Visual C++ 2010
Приложение Windows Forms

В основной форме есть функция вида:
Код:
void Test(void(*func)(char*))
{
// some code ... 
char* txt = "hhh";
func(txt);
}
также ест функция callback
Код:
void callbackF(char* message) {	
// some code ...
}
Как передать в тестовую функцию функцию колбэка??

Если сделать так:
Код:
Test(callbackF);

Ошибка: Ошибка	2	error C3867: NGUI::Form1::callbackF: в вызове функции отсутствует список аргументов; используйте "&NGUI::Form1::callbackF" для создания указателя на член	c:\ggui\src\NGUI\Form1.h	447	1	NGUI
Если так:
Код:
Test(&Form1::callbackF);

Ошибка: Ошибка	2	error C3374: невозможно получить адрес "NGUI::Form1::callbackF", пока не будет создан экземпляр делегата	c:\ggui\src\NGUI\Form1.h	447	1	NGUI
С использованием делегата:
Код:
delegate void Del(char *s);
...

Del ^d = gcnew Del(this, &Form1::callbackF);
Test(d);

Ошибка: Ошибка	2	error C2664: NGUI::Form1::Test: невозможно преобразовать параметр 1 из "NGUI::Form1::Del ^" в "void (__cdecl *)(char *)"	c:\ggui\src\NGUI\Form1.h	447	1	NGUI

Где я что упустил то??
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 01.04.2015, 14:52   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Объявите callbackF как static
waleri вне форума Ответить с цитированием
Старый 01.04.2015, 14:55   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Объявите callbackF как static
Объявлял .. и тест статиком делал и колбэк ...
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование на С. Указатели на функцию Romchik1 Помощь студентам 2 15.02.2015 14:17
С++ Передача массива в функцию(указатели) Настя М Помощь студентам 0 22.05.2014 17:04
Указатели на функцию SteAlzzer Общие вопросы C/C++ 3 05.11.2011 15:16
Проблема с пепедачей аргументов в функцию (массивы + указатели) sekator Общие вопросы C/C++ 2 09.08.2010 13:03
Указатели на функцию. prikolist Общие вопросы C/C++ 9 05.06.2009 15:34