Folgendes Problem:
es werden an eine Funktion Parameter übergeben:
cPicture *temppic = new cPicture;
temppic->SetSize(11, 11);
die Funktion hat den Sinn, den Speicherbereich zu vergrößern:
class cPicture
{
void* pic;
void SetSize(int newxsize, int newysize);
};
void cPicture::SetSize(int newxsize, int newysize)
{
if(pic != NULL)
pic = (SDL_Color*)realloc(pic, sizeof(SDL_Color)*(newxsize*newysize));
else
pic = (SDL_Color*)malloc(sizeof(SDL_Color)*(newxsize*newysize));
if(pic == NULL)
{
cout << "couldn't malloc mem (" << newxsize << "x" << newysize << ")->" << newxsize*newysize << endl;
return;
}
}
ich bekomme als Ausgabe:
"couldn't malloc mem (44x15)->660"
bei anderen Zahlen funktioniert alles: zb.
cPicture *temppic = new cPicture;
temppic->SetSize(10, 11);