加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 将1个参数(指针)传递给glutDisplayFunc?

发布时间:2020-12-16 07:32:12 所属栏目:百科 来源:网络整理
导读:我用一个基本的draw()方法创建了一个虚拟类,该方法没有做任何事情.这样做的目的是,其他类,形状和其他东西,它们将能够在OpenGL中绘制自己,将继承这个虚拟类,允许我创建一个指向许多不同类的指针数组.这背后的想法是我希望我能够将指向此数组的指针传递给我的g
我用一个基本的draw()方法创建了一个虚拟类,该方法没有做任何事情.这样做的目的是,其他类,形状和其他东西,它们将能够在OpenGL中绘制自己,将继承这个虚拟类,允许我创建一个指向许多不同类的指针数组.这背后的想法是我希望我能够将指向此数组的指针传递给我的glutDisplayFunc回调. (这恰好被命名为drawScene().不幸的是我似乎无法传递任何东西,因为glutDisplayFunc被设计为采用一个不带参数并且什么都不返回的方法.

有没有办法将参数传递给回调函数,然后将指针传递给我的drawScene函数?

(TLDR?见下文.)

基本上我希望能够做到这一点:

class a{ ... };
void drawScene( a** a_array_pointer){ ... }
glutDisplayFunc(drawScene); // <-- How do I pass an argument into this?

解决方法

Is there any way of passing arguments to callback functions,and then any way of passing a pointer into my drawScene function?

No. glut是一个真正的C库,而glutDisplayFunc需要一个函数指针作为它的参数.在该回调中使用变量的唯一方法是使它们成为类的全局变量或静态变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读