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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2009, 21:23   #1
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию Указатеть на функция-член класса

скажем имеется класс

calas A
{
void func();
};

и обьект
A a;

мне нужен указатель на функцию a.func. как это сделать?
BioS вне форума Ответить с цитированием
Старый 28.09.2009, 21:29   #2
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

http://www.rsdn.ru/article/cpp/fastdelegate.xml
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 28.09.2009, 22:39   #3
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию

создал указатель, как там написано, а при компиляции выдает ошибку


результатом вычисления фрагмента не является функция, принимающая 0 аргументов
BioS вне форума Ответить с цитированием
Старый 28.09.2009, 22:47   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от BioS Посмотреть сообщение
создал указатель, как там написано, а при компиляции выдает ошибку


результатом вычисления фрагмента не является функция, принимающая 0 аргументов
Код я так понимаю Пушкин запостит, чтобы можно было дать какой-то ответ?
pu4koff вне форума Ответить с цитированием
Старый 28.09.2009, 23:21   #5
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию

ну скажем так

Код:
class Class
{
public:
	void func() {	MessageBox(0, c, 0, 0);		};
	char* c;
};

typedef void (Class::* ClassFunc)();


	Class a;
	a.c = "ТЕСТ";
	ClassFunc f = &Class::func;
	a.*f();
BioS вне форума Ответить с цитированием
Старый 28.09.2009, 23:46   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

По приведённой ссылке написано ведь, как их использовать.
Код:
(a.*f)();
netrino вне форума Ответить с цитированием
Старый 29.09.2009, 00:04   #7
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию

хм такая мелочь. теперь работает. спасибо!
BioS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите написать функцию-член на Си++ aka_faith Помощь студентам 0 14.06.2009 17:36
Как изменить статический приватный член класса?? 3dgraph Помощь студентам 2 07.05.2009 20:06
Сформировать массив X[N], n-й член которого определяется формулой X(N) = 1/N! GUnt Паскаль, Turbo Pascal, PascalABC.NET 1 28.12.2008 13:52
Вычислить n-ый член по заданному n в массиве DiegO Паскаль, Turbo Pascal, PascalABC.NET 3 06.12.2008 20:58
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50