我正在尝试在C ++中使用Glut,但是当我尝试将我的显示功能放在Renderer类中时,我遇到了问题。
我遇到的错误是: 错误C2227:' - > display'的左侧必须指向class / struct / union / generic type
到目前为止,我有以下内容:
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
}
我不确定我做错了什么:(
感谢您的帮助!
答案 0 :(得分:1)
如果staticDisplay
是静态函数(顾名思义),则无法从中访问gRenderer
,这是一个成员变量。你需要一个类的实例来做到这一点,而静态方法却没有。