VC# 使用 csgl.dll 调用OpenGL的问题?
C# 使用csgl.dll调用OpenGL,我输入语句GL.glDepthMask(GL.GL_FALSE),竟发现该方法参数类型为byte,但GL.GL_FALSE类型为unit,我知道C++中语句glDepthMask(GL_FALSE)是没错的,是什么原因?
C# 使用csgl.dll调用OpenGL,我输入语句GL.glDepthMask(GL.GL_FALSE),竟发现该方法参数类型为byte,但GL.GL_FALSE类型为unit,我知道C++中语句glDepthMask(GL_FALSE)是没错的,是什么原因?
答案:gl.h里是这么定义的
typedef unsigned char GLboolean;
#define GL_TRUE 1
#define GL_FALSE 0
默认时常数表示为最小兼容类型,1和0的最小兼容类型是int,
调用时可以自动类型转换成unsigned char。
希望能帮助你。
上一个:为什么我的vc++6.0可以编译、连接、就是不能运行c程序?而且还不能新建c文件,就是没有c++source file这个
下一个:J:\vc++\求和.cpp(6) : error C2146: syntax error : missing ';' before identifier 'cout' 为什么会这样