Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lordimid
3 / 3 / 0
Регистрация: 02.10.2011
Сообщений: 98
#1

CREATEFUNCPTR - C++

16.10.2013, 18:02. Просмотров 327. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста разобраться. Что означает следующая строка
C++
1
2
3
...
typedef IUnknown* (*CREATEFUNCPTR)(); 
...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Убежденный
Ушел с форума
Эксперт С++
15701 / 7211 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
16.10.2013, 18:10 #2
Здесь объявляется указатель на функцию CREATEFUNCPTR.
Функция, на которую он может указывать, должна возвращать указатель на IUnknown и
принимать пустой список аргументов.
0
lordimid
3 / 3 / 0
Регистрация: 02.10.2011
Сообщений: 98
17.10.2013, 17:39  [ТС] #3
Хм... А как тогда можно понять дальнейший код? Это же вроде приведение к типу:
C++
1
2
3
4
typedef IUnknown* (*CREATEFUNCPTR)() ;
...
CREATEFUNCPTR CreateInstance=(CREATEFUNCPTR)::GetProcAddress(hComponent, "CreateInstance") ;
...
Не понятно то, что начинается после знака равно.
0
Убежденный
Ушел с форума
Эксперт С++
15701 / 7211 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
17.10.2013, 17:57 #4
GetProcAddress возвращает FARPROC, а здесь нужен CREATEFUNCPTR.
Если не выполнить приведение типов, будет ошибка компиляции.
0
17.10.2013, 17:57
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru