//我的结构/类
class ImgObj{
public:
unsigned int *textu; //image
};
// 我的具有基本功能的通用对象
class Aobj {
protected:
ImgObj *_obj;
public:
Aobj();
virtual ~Aobj();
ImgObj *getB(int p);
void add(unsigned int *texture);
};
//Here a create an array of that structure
void Aobj::setFrameCount(int q) {
_obj = new ImgObj[q];
}
//Adding it
void Aobj::add(unsigned int *texture, int size)
{
counter++; (counter is 0, I didn't specify this but it is there)
_obj[counter-1].textu = (unsigned int *)malloc(size);
_obj[counter-1].textu = texture;
}
// Getting back the buffer
ImgObj *Aobj::getB(int p) {
return &_obj[p];
}
//Extending the main object with some other functions which are not present here
class Background : public Aobj {
public:
Background();
virtual ~Background();
};
//---------------------------------
//我的主要测试//我基本上是在尝试分配图像,并且在循环中第二次分配后//它崩溃了
Main::Main()
{
// image bytes 11704 -> 77w * 38h * 4
unsigned int *texture = new unsigned int[11704]; //an example
//Now imagine I'm filling this array with an image...
int size = 11704;
Background *background = new Background;
background->setFrameCount(1);
background->add(texture, size);
unsigned int *testtex; //testing
while(true)
{
testtex = background->getB(0)->textu;
}
// When using this it crashes (the first time works fine, the second time crash)
}