On Mon, Mar 10, 2003 at 10:23:07PM +0000, José Fonseca wrote: > struct function_table { > ... > void (*BlendFunc)(GLcontext *ctx, GLenum sfactor, GLenum dfactor); > ... > } driver; > > and > > class Context { > ... > void BlendFunc(GLenum sfactor, GLenum dfactor); > ... > } ; > > You can't simply do > > driver.BlendFunc = Context::BlendFunc;
No, you can't do that. The problem is not the rhs as you seem to think but the lhs. The rhs needs to be &Context::BlendFunc. What type does that have? void (Context::*BlendFunc)(GLcontext *ctx, ...) > As I said above this can be done in C++, and without damage to > efficiency. I doubt that. (JFTR, if I'm given the choice of programming in C++ or C, I'll pick C++. I'm really not being a C zealot) > class TNL { > // A OpenGL function > virtual void Coord3f(GLfloat x, GLfloat y, GLfloat z) = 0; ^^^^^^^ pure virtual method. Depending on what you want to do with this, this will incur in a function call overhead, inline or not. Marcelo ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel