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

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

Войти
Регистрация
Восстановить пароль
 
mmm_corp
70 / 65 / 20
Регистрация: 30.05.2015
Сообщений: 470
#1

Typedef void (WINAPI *GLEND)(void), как вызывать? - C++

05.10.2015, 19:01. Просмотров 258. Ответов 5
Метки нет (Все метки)

импортирую метод
C++
1
GLEND   glmethod    = (GLEND)   GetProcAddress(hModule, "glEnd");
как его теперь коректно вызвать:

C++
1
2
3
4
typedef void (WINAPI *GLEND)(void);
void  glEnd (void){
    (GLEND); // здесь непонятно как написать
}
П.С. чистый С
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2015, 19:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Typedef void (WINAPI *GLEND)(void), как вызывать? (C++):

Ошибка при компиляции Dev C++ 'typedef void* pthread_t' - C++
Здравствуйте. Нужно установить программу D-ITG через Dev C++. Установил версию 5.10, открываю проект, запускаю компилятор и выдает ошибку...

Нюансы синтаксиса: что означает запись typedef void(*PF) (); ? - C++
Что означает эта команда typedef void(*PF) (); ?

Дважды вычислить значение выражения, используя функции возвращающие void и не void - C++
Хай!Помогите решить Дважды вычислить значение выражения, используя функции возвращающие void и не void....

Написать функцию раньше мейна, через void. потом в мейне её вызывать - C++
Помогите. Нужно написать функцию раньше мейна, через void. потом в мейне её вызывать #include <iostream.h> #include <cstdlib.h> ...

Что значит void(*f)()=(void(*)()func? - C++
void(*f)()=(void(*)())func; Объясните, пожалуйста, что значит этот код.

delete или new (typeid(void*))(void*) - C++
Доброе время суток. Пишу список. Телом каждого элемента (el) списка является void указатель(body). (предполагается что тело элемента...

5
hoggy
6798 / 2984 / 514
Регистрация: 15.11.2014
Сообщений: 6,754
Завершенные тесты: 1
05.10.2015, 19:30 #2
C
1
2
3
4
5
6
7
typedef void (WINAPI *GLEND)(void);
 
GLEND   glmethod    = (GLEND)   GetProcAddress(hModule, "glEnd");
 
void  glEnd (void){
    glmethod();
}
1
mmm_corp
70 / 65 / 20
Регистрация: 30.05.2015
Сообщений: 470
05.10.2015, 19:45  [ТС] #3
Typedef void (WINAPI *GLEND)(void), как вызывать?
0
hoggy
6798 / 2984 / 514
Регистрация: 15.11.2014
Сообщений: 6,754
Завершенные тесты: 1
05.10.2015, 19:57 #4
1.
вы объявили локальную переменную glmethod внутри функции dlgInit.
разумеется она не видна другим функциям.

2.
префикс g перед именем переменной обозначает глобальную переменную.
рекомендую вам убрать этот префикс, переименовав переменные.
дабы не сбивать людей с толку.
2
UltraPenguin
229 / 95 / 22
Регистрация: 20.03.2014
Сообщений: 304
Завершенные тесты: 1
05.10.2015, 19:58 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
mmm_corp, разумеется он неопределен. У вас же он определяется внутри dglInit(). Вынесите GLEND glmethod в глобальную область видимости либо делайте
C++
1
GLEND   glmethod    = (GLEND)   GetProcAddress(hModule, "glEnd");
внутри glEnd().
А по хорошему это все бы в класс обернуть.
1
mmm_corp
70 / 65 / 20
Регистрация: 30.05.2015
Сообщений: 470
06.10.2015, 17:36  [ТС] #6
Цитата Сообщение от hoggy Посмотреть сообщение
1.
вы объявили локальную переменную glmethod внутри функции dlgInit.
разумеется она не видна другим функциям.
ок.... как же тогда написать по канонам, можно пример?

Цитата Сообщение от hoggy Посмотреть сообщение
2.префикс g перед именем переменной обозначает глобальную переменную.
рекомендую вам убрать этот префикс, переименовав переменные.
дабы не сбивать людей с толку.
портирую gl.c на вызов динамически с статического вызовов, там пишут так. Пытаюсь полностью сохранить совместимость чтобы можно было быстро внедрять свою либу в существующие проекты.
0
06.10.2015, 17:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2015, 17:36
Привет! Вот еще темы с ответами:

Error C2084: функция "void mehanizm:print(void)" уже имеет текст реализации - C++
Добрый день, я столкнулся с проблемой вывода элемента на экран, выбивает: "error C2084: функция "void mehanizm::print(void)" уже имеет...

LNK2019: ссылка на неразрешенный внешний символ "void __cdecl run(void)" (?run@@YAXXZ) в функции _wmain - C++
#include "stdafx.h" #include "iostream" #include "cmath" using namespace std; class A { private : double *x; double...

не получается передать массив из "void Vvod" в "void CalculatingEstimates" - C++
#include <iostream> #include <conio.h> using namespace std; void CalculatingEstimates(int Pp,Stydent mas); void Vvod(); struct...

в чем разница между void f(int &n) и void f(int &&n) - C++
:help:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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