C++ enum EXC_BAD_ACCESS
I have a problem with the enumerations in c++
I don't understand why if I define two variables with the same enumeration it give EXC_BAD_ACCESS do you have an idea why? if I define only one varible it is fine here is the code...enum directions{
UP,
DOWN,
RIGHT,
LEFT,
IN,
OUT,
FW,
RW
};
class Snake
{
private:
enum directions head_dir;
enum directions head_dir_ask; //if I comment this... the program work fine..
(... other stuff...)
};
thanks for the help in advance
the code is about 10 files... it will be like too long to post, anyway... I'm using OpenGL and QtMainProject::MainProject(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainProject)
{
ui->setupUi(this);
startTimer(1000);
glwidget = new MyGLBox(ui->centralWidget);
ui->GLlayout->addWidget(glwidget); // <line where the complier retruns the EXC_BAD开发者_开发百科_ACCESS
}
MyGLBox constructor:
MyGLBox::MyGLBox(QWidget *parent):QGLWidget(parent){
XRot = YRot = ZRot = 0;
theta1 = theta2 = phi = 0;
}
There's not nearly enough information in your question to point you in any particular direction. However, it's almost certainly because somewhere else in your code there is some pointer manipulation that goes wild and ends up accessing something undefined. Changing the memory layout of objects (such as adding or removing an unused member) can temporarily mask such an error -- which is not a good thing because instead if preventing the error it is just transforming it from a highly visible and debuggable crash to something subtler and harder to detect, but still an error, whose eventual effects can be much more baffling.
You should run your code in a debugger and inspect what it is doing when you get the exception. (And for your own sake, don't change the program in any way that makes the crash go away until you have understood why it crashed and are sure you have fixed the underlying cause).
精彩评论