Форум программистов, компьютерный форум CyberForum.ru

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

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

CREATEFUNCPTR - C++

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

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

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