我正在做一个 opengl 项目,但我的一些课程有问题:
主要有3个类:
class scene{
public:
scene();
object** elements;
unsigned int nb_elements;
void add_object(object* _element){
objet** p_elements=elements;
while(p_elements-elements!=nb_elements)
p_elements++;
*p_elements=_element; //here is the bug
nb_elements++;
}
}
[...]
};
class object{
public:
object();
[...]
};
class point : public object{
point();
point(double _x, double _y, double _z,double _r);
[...]
}
我在初始化 Opengl 后初始化场景,在同一个函数中:
void GLWidget::initializeGL(){
[OpenGL initialization]
_scene=new scene;
point* s1=new point(0.0,0.0,3.0,1.0);
_scene->add_object(s1);
}
该错误在 scene::add_object 函数中。我不明白为什么它不起作用,因为 *p_elements 和 _element 都是指针。我猜这是演员阵容问题,但我不知道如何解决。我尝试了动态转换:错误仍然存在。
感谢您的帮助,
卡茅斯