我有一块使用GLU曲面细分器的代码。一些方法传递回调。它通常看起来像:
static void vertexCallback(void* vertexData, void* data)
{
}
他们将回调传递给gluTessCallback方法:
gluTessCallback(tess, GLU_TESS_VERTEX_DATA,
reinterpret_cast<GLvoid (*)()>(vertexCallback));
此代码在一台机器上为我编译(Win7 64bit,VisualStudio2012 VC110编译器64位项目)。
但是,当我在另一台机器上安装相同的项目时,也就是Win7 64bit,VS2012,VC110,但是 32bit 项目我正在让编译器吐出这个:
错误4错误C2664:'gluTessCallback':无法转换参数3 从'GLvoid(__ cdecl *)(void)'到'void(__ stdcall *)(void)'
为什么会这样?