error C2664: 'auxIdleFunc' : cannot convert parameter 1 from 'void (__cdecl *)(void)' to 'void (__

//Console.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#pragm... // Console.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#pragma warning(disable : 4305)
#include <windows.h>
// 添加OpenGL头文件
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>
// 定义用户函数及回调函数
static float R=1.0;//添加
void myInit(void);
void CALLBACK myReshape(GLsizei w,GLsizei h);
void CALLBACK myDisplay(void);
void myInit(void)
{
glClearColor(0.0,0.0,0.0,0.0); // 背景清除颜色
glShadeModel(GL_FLAT); // 图形绘制模式
}
void CALLBACK myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor4f(0.2,0.6,1.0,1.0); // 图形绘制颜色
glRotatef(60.0,1.0,1.0,1.0); // 设置旋转
auxWireSphere(0.1*R); // 绘制线框模式的球,参数是半径//添加
glFlush(); // 完成绘制
}
void myIdle(void)
{
++R;
if( R >=100)
R = 1;
myDisplay();
}
void CALLBACK myReshape(GLsizei w,GLsizei h)
{
glViewport(0,0,w,h);
}

int main(int argc, char* argv[])
{
auxInitDisplayMode(AUX_DOUBLE | AUX_RGBA); // 初始化显示模式
auxInitPosition(0,0,400,400); // 窗口显示位置
auxInitWindow("My First Console OpenGL Application"); // 窗口标题
myInit();
auxReshapeFunc(myReshape);
auxIdleFunc(&myIdle); // 这句有问题!!!!!!!
auxMainLoop(myDisplay);
return 0;
}
调试时出现 : error C2664: 'auxIdleFunc' : cannot convert parameter 1 from 'void (__cdecl *)(void)' to 'void (__stdcall *)(void)'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
求解决,谢谢
展开
 我来答
金色潜鸟
2013-06-30 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5695万
展开全部
auxIdleFunc(myIdle); // 试试,直接写函数名。
追问
谢谢 不过还是不能运行。 你觉得还有什么问题吗?我主要是实现球体的半径大小变化的动画。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式