Нужна, помощь в понимании ошибки, изучаю с++ на практике.
Вот часть кода:
typedef std::vector<AFSObject*> AFSObjects;
int AFSProc::InitSys()
{
objects = new AFSObjects;
objects->push_back(new AFSTestQuad); //Здесь эту ошибку выбивает
return 0;
}
class AFSProc : AFSSystem {
public:
AFSProc() : manager(0) {
}
virtual ~AFSProc();
int InitSys();
private:
int manager;
AFSObjects *objects;
};
class AFSTestQuad : AFSObject {
public:
AFSTestQuad(float x = 0, float y = 0, float a = 5);
int Draw();
private:
int side;
};
AFSTestQuad::AFSTestQuad(float x, float y, float a) {
axis->x = x;
axis->y = y;
side = a;
}
int AFSTestQuad::Draw() {
try {
glRectf(static_cast<GLfloat> (axis->x), static_cast<GLfloat> (axis->y),
static_cast<GLfloat> (axis->x + side),
static_cast<GLfloat> (axis->y + side));
} catch (...) {
return -1;
}
return 0;
}
И наконец тот базовый класс
class AFSObject {
public:
AFSObject() : axis(new AFSsAxis) {
}
virtual ~AFSObject();
void SetAxis(AFSsAxis* axis);
AFSsAxis* GetAxis() const;
virtual int Draw(void) = 0;
protected:
AFSsAxis *axis;
};
Спасибо за внимание!