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
求解决,谢谢 展开
//
#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
求解决,谢谢 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询