0
У меня есть класс C++, который содержит функцию draw, которую я хочу передать glutDisplayFunc(). glutDisplayFunc принимает указатель на функцию (void (*)()) в качестве аргумента. Я пробовал:glutDisplayFunc() с указателем на функции memeber
Model myModel(pathToTextures);
//Model contains the Draw function that draws the vertices and the textures
std::function<void(void)> myfunc=std::bind(&Mymodel::Draw,&modelna);
glutDisplayFunc(myfunc);
компилятор не может преобразовать указатель std :: function в требуемое. Как я могу обойти этот барьер указателя функции-члена?
Я только что попробовал другой метод, но он тоже не работает: glutDisplayFunc ([& Mymodel]() {Mymodel.Draw();}) – Ricko
Это не сработает, потому что lambdas не могут быть конвертированы в указатели функций, если они захватывают что угодно. –