I have this two classes: board.h and scene.h.When I run program like this everything works fine: scene.cpp
scene::scene()
{
basescene=new QGraphicsScene;
additem();
}
void scene::additem()
{
board *_board=new board;
QPixmap boarditem (":/images/board.png");
_board->setPixmap(boarditem);
basescene->addItem(_board);
}
scene.h
class scene:public QGraphicsScene
{
public:
scene();
QGraphicsScene *basescene;
void additem();
};
board.h
class board:public QGraphicsPixmapItem
{
public:
board();
};
board.cpp
board::board()
{
}
But when i run it like this:
scene.h
class scene:public QGraphicsScene
{
public:
scene();
QGraphicsScene *basescene;
};
scene.cpp
scene::scene()
{
basescene=new QGraphicsScene;
board _board;
}
board.h
class board:public QGraphicsPixmapItem,public scene
{
public:
board();
void additem();
board *_board;
};
board.cpp
board::board()
{
additem();
}
void board::additem()
{
board *_board=new board;
QPixmap boarditem (":/images/board.png");
_board->setPixmap(boarditem);
basescene->addItem(_board);
}
The program crashes and debugger says that the error is in scene class and the code has a segment fault.I googling and it said that is some pointer issue... I'm newbie in c++ and debug thing and sorry about my bad english.