opengl红宝书第11章, gluTessCallback函数的例子在vs.net编译不过的解决方法

        今天学习opengl红宝书第11章时, 用到gluTessCallback(tobj,GLU_TESS_BEGIN,glBegin),居然编译不过,
opengl红宝书第11章, gluTessCallback函数的例子在vs.net编译不过的解决方法_第1张图片
     上网查了一下,不少人也遇过这个问题,这种格式在c中是可以通过的,但是在vs.net中比较严格,所以不能通过 ,解决办法也就是强制转换:
 
   
gluTessCallback(tobj, GLU_TESS_VERTEX, 
                   (
void (__stdcall * )())vertexCallback);
   gluTessCallback(tobj, GLU_TESS_BEGIN, 
                   (
void (__stdcall * )())beginCallback);
   gluTessCallback(tobj, GLU_TESS_END, 
                   (
void (__stdcall * )())endCallback);
   gluTessCallback(tobj, GLU_TESS_ERROR, 
                   (
void (__stdcall * )())errorCallback);
   gluTessCallback(tobj, GLU_TESS_COMBINE, 
                   (
void (__stdcall * )())combineCallback);
 
 
这样就可以成功编译了!
 

你可能感兴趣的:(c)