|
|
代码如下:
{
GLUtesselator *tobj;
tobj=gluNewTess();
gluTessCallback(tobj, GLU_TESS_BEGIN, glBegin); //出错
}
编译时出现错误:
e:\laputa\programs\VC++\Fileexample\FileexampleView.cpp(397): error C2664: “gluTessCallback” : 不能将参数 3 从“void (GLenum)”转换为“void (__stdcall *)(void)”
在匹配目标类型的范围内没有具有该名称的函数
不懂为什么会出现这个错误。这句话可是msdn上的例句啊!
gluTessCallback的参数3定义为 (CALLBACK* fn)(),难道一定要求回调函数的参数为void么?(在参数3为glEnd或NULL编译通过)。可在glu.h中写得很明白,系统会自动根据参数2的类型来进行转换啊。
系统是:xp,VC++.NET
glu.h glu32.lib都已声明链接。
一下午了,都没搞懂。请高手赐教!
还有我想请问一下,要画任意的凹凸多边形,除了用多边形网格化外还有什么其他的方法吗?
谢谢! |
|