3 / 3 / 2
Регистрация: 01.10.2011
Сообщений: 249
|
||||||
1 | ||||||
[C++, OpenGL, glut] передача метода класса в качестве параметра функции glutDisplayFunc()15.10.2012, 01:05. Показов 4714. Ответов 6
Пишу программу для обхода бинаронго дерева поиска.
Программа написана и кажется даже работает, но только в консоли. Решил выводить дерево на экран, для наглядности, используя OpenGL (как раз его в это время начал изучать). Но тут появилась проблема, оказывается нельзя передать метод класса как параметр функции glutDisplayFunc(); Пытался что-то найти в интернете, но большого успеха этого не дало. Примерная схема(что к чему, так сказать :-))
Что можете посоветовать по данной проблеме? Заранее всем спасибо
0
|
15.10.2012, 01:05 | |
Ответы с готовыми решениями:
6
Передача метода класса в качестве параметра для метода другого класса Передача члена класса в качестве параметра метода Передача имени класса в качестве параметра функции Передача имени класса в качестве параметра функции |
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
|
15.10.2012, 01:33 | 3 |
Kirill Losev, std::function/std::bind или boost::function/boost::bind
glutDisplayFunc(std::bind(&TREE::Output, binary));
1
|
3 / 3 / 2
Регистрация: 01.10.2011
Сообщений: 249
|
|
15.10.2012, 01:51 [ТС] | 4 |
Croessmah, спасибо, жду
Добавлено через 1 минуту I.M., а поподробнее можете рассказать что это и с чем использовать? ) Добавлено через 3 минуты I.M., спасибо. сейчас опробую Добавлено через 13 минут I.M., а нужно ли подключать какую-нибудь дополнительную библиотеку?
0
|
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
|
15.10.2012, 02:15 | 5 |
да.
bind или boost/bind
1
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||
15.10.2012, 08:49 | 6 | |||||
Добавлено через 13 минут
glut функциям нужны указатели на свободные функции. а то, что возвращается функцией std::bind или std::function - вот они не умеют преобразовываться в указатели на свободные функции. итого: просто так у вас это не получится сделать. вот тут похожие рассуждения и закончилось все тем, что автора устрола самодельная штука: bind самое простое - это сделать глобальный объект или синглтон. примерно такая схема:
1
|
3 / 3 / 2
Регистрация: 01.10.2011
Сообщений: 249
|
|
15.10.2012, 10:32 [ТС] | 7 |
DU, спасибо. сегодня попробую. о результатах отпишусь
0
|
15.10.2012, 10:32 | |
15.10.2012, 10:32 | |
Помогаю со студенческими работами здесь
7
Передача метода класса в качестве аргумента внешней функции Хранение и передача метода в качестве параметра двумерный массив в качестве параметра метода класса Передача класса в качестве параметра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |