Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ запуск функции через указатель на нее

Автор: epishev 8.6.2011, 16:43

Всем привет!

Такой вопрос:

Есть пустой указатель

void* Render;


Есть функция
int Draw;


Передаем указателю Render адрес функции Draw
Render = (void*)Draw


Теперь нужно запустить функцию Draw через Render

Как это сделать?

Заранее спасибо!

Автор: Авварон 8.6.2011, 17:27

class C
{
public:
    typedef bool (*MatchFunction)(const QByteArray &data);
    MatchFunction matchFunction;
};

bool myMatch(const QByteArray &data) {}

int main()
{
    C c;
    c.matchFunction = myMatch;
    c.matchFunction(QByteArray());
}

Автор: Litkevich Yuriy 8.6.2011, 17:41

Цитата(epishev @ 8.6.2011, 19:43) *
Есть функция
int Draw;
скобки забыл

Автор: Алексей1153 8.6.2011, 19:26

epishev, для вызова функции необходимо знать её тип. Без этого никак :)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)