c++ - 使用过剩显示时遇到问题

标签 c++ glut

我正在尝试在 C++ 中使用 Glut,但是当我尝试将显示函数放在 Renderer 类中时遇到问题。

我的错误是: error C2227: '->display' 的左侧必须指向类/结构/union/泛型类型

到目前为止,我有以下内容:

class Renderer
{
public:
   Renderer *gRenderer;
   ...
}

int Renderer::start(Renderer r)
{
...
setRenderer(r);
glutDisplayFunc(&Renderer::staticDisplay);
...
}

void Renderer::setRenderer(Renderer r){
 *gRenderer = r;
}

void Renderer::staticDisplay(){
 gRenderer->display();
}

void Renderer::display()
{
... show stuff
}

我不确定我做错了什么:(

感谢大家的帮助!

最佳答案

如果staticDisplay 是一个静态函数(顾名思义),您不能从它访问作为成员变量的gRenderer。您需要一个类的实例来执行此操作,而静态方法则没有。

关于c++ - 使用过剩显示时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3940725/

相关文章:

c++ - OpenGL 中的着色器问题

c++ - 如何使用 OpenGL 和 GLUT 渲染 3d .obj 文件? (Mac OS X,XCode 4)

linux - 为什么这个 GLUT 程序无法编译?我缺少库或 header 吗?

c++ - Visual C++,CArchive 序列化

c++ - 将整数静态转换为指针类型

c++ - 如何使变量可用于我的函数?

c++ - 睡了很多天,分辨率为微秒

c++ - 控制字符串输入的异常类?

c++ - VS 2019 上的过剩

GLUT游戏中的C++ LNK2019错误