【发布时间】:2013-05-02 11:18:29
【问题描述】:
我正在用 C++ 制作一个泡泡爆破游戏,用户点击随机生成的漂浮在屏幕上的泡泡(仍在开发中)。为了在这个游戏中使用 OpenGl 和 Glut,我发现最好让我的 Bubbles 全球化。我有一个空白析构函数,但我不知道如何删除 Bubble 的内容并创建一个新的。我尝试使用动态分配,但没有任何区别。如何删除 Bubble 的内容并创建一个新的?
这是一个必要的sn-p:main.cpp
Bubble myBubble1; void display(void) {
delete myBubble1;//error "cannot delete type Bubble"
}
我的析构函数在这里:
class Bubble {
public:
//default constructor
Bubble()
{
radius=(rand() % 100 )+1;
speed = rand() % 500 ;
xVal = rand() % 480;
yVal= -14;
isLive=true;
}
~Bubble()
{
}
private:
float radius;
float speed;
float xVal;
float yVal;
bool isLive;
};
当我不尝试删除任何内容时,代码运行良好。我可以无限循环泡泡
【问题讨论】:
-
帮助记住:任何时候使用
new,都应该有一个对应的delete。如果您从不使用new,则您没有什么可手动删除。请参阅stackoverflow.com/q/716353/1751715 之类的问题,它是重复的以获取更多信息。注: ~ 每个删除都必须在它自己的delete thingy;行上。你不能写delete thing1, thing2, thing3;;见stackoverflow.com/q/3037655/1751715。
标签: opengl global-variables destructor glut