Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / MFC / 5 сообщений из 5, страница 1 из 1
28.09.2007, 22:31:12
    #34836058
mar55555
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MFC
Вопрос наверное на уровне чайника... Но все таки.
Как в MFC передавать функцию в качестве параметра функции. Т.е. аналог подобной строчки WinApi

Tst.Function(Function);
...
Рейтинг: 0 / 0
28.09.2007, 23:18:59
    #34836092
Albatross
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MFC
mar55555Вопрос наверное на уровне чайника... Но все таки.
Как в MFC передавать функцию в качестве параметра функции. Т.е. аналог подобной строчки WinApi

Tst.Function(Function);

MFC тут не причём, а в С указатель на ф-цию передавать всегда можно было
...
Рейтинг: 0 / 0
28.09.2007, 23:26:02
    #34836095
ErV
ErV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MFC
mar55555 wrote:

> Вопрос наверное на уровне чайника... Но все таки.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
#include <stdio.h>
void a(void (*arg)()){
    arg();
}

void b(){
        printf("фыва\n");
}

int main (int argc, char** argv){
        a(b);
        return  0 ;
}


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
29.09.2007, 12:13:26
    #34836302
mar55555
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MFC
#include <stdio.h>
void a(void (*arg)()){
arg();
}

void b(){
printf("фыва\n");
}

int main (int argc, char** argv){
a(b);
return 0;
}

это я знаю...
Проблема оказалась в том, что функцию, которую я передаю надо было объявить static...
...
Рейтинг: 0 / 0
29.09.2007, 16:17:56
    #34836437
ErV
ErV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MFC
mar55555 wrote:

> Проблема оказалась в том, что функцию, которую я передаю надо было
> объявить static...
>
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
#include <stdio.h>
void a(void (*arg)()){
    arg();
}

static void b(){
        printf("фыва\n");
}

int main (int argc, char** argv){
        a(b);
        return  0 ;
}
или (если вы это имеете в виду)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
#include <stdio.h>
class A{
public:
    static void b(){
        printf("йцукен");
    }
};

void a(void (*arg)()){
    arg();
}

static void b(){
        printf("фыва\n");
}

int main (int argc, char** argv){
        a(A::b);
        return  0 ;
}
Где проблема?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / MFC / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]