2016-04-19 10 views
0

Ich habe eine C++ - Klasse, die die Zeichenfunktion enthält, die ich an glutDisplayFunc() übergeben möchte. glutDisplayFunc verwendet einen Funktionszeiger (void (*)()) als Argument. Ich habe versucht:glutDisplayFunc() mit Zeiger auf Memeber-Funktionen

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); 

der Compiler kann den Zeiger std :: function nicht auf den erforderlichen konvertieren. Wie kann ich diese Hürde von Mitgliedsfunktionszeiger umgehen?

+0

Ich habe gerade eine andere Methode versucht, aber es funktioniert auch nicht: glutDisplayFunc ([& Mymodel]() {Mymodel.Draw();}) – Ricko

+0

Es wird nicht funktionieren, weil lambdas nicht in Funktionszeiger konvertieren, wenn Sie fangen alles ein. –

Antwort

0

Ich nehme an, asmjit Bibliothek könnte das für Sie tun.