Är väll bara aldeles för trött, men kan någon förklara för mig Varför programmet dör vid den fet -och rödmarkerade raden nedan? (Jag får felet "Unhandled exception in eEngine.exe: 0xC0000005: Access Violation." vid debuging)
Funktionen createTexure befinner sig i en klass som ärver (eller vad det heter) klassen Renderer och det påverkar INTE felet om jag tömmer createTexture på kod (och endast har kvar return true eller return false)
Texture ser ut på följande sätt:
struct Texture {
unsigned int texID;
unsigned int width;
unsigned int height;
unsigned int depth;
Image *image;
};
och klassen Image innehåller bla det här:
protected:
unsigned char *data;
short int width;
short int height;
Är säkert något oerhört enkelt och dumt fel, men jag har då stirrat mig blind på min kod :)
din texture som du skapar är en lokal instans av Texture, kanske beror på det att, fast iofs borde den inte hugga vid metodanropet... hmmm... jag får tänka lite till...
/R
efter lite tankearbete...
hur ser metoden createTexture ut?
MEN, om jag tar bort alla knepiga OpenGL grejor där så får jag fortfarande samma fel (på samma ställe) (har då testat att returnera både false och true)
så om jag förstår allt rätt så ärvs klassen Renderer av klassen OpenGLRenderer. klassen Renderer gör sedan ett metodanrop till en metod i klassen OpenGLRenderer... det där tycker jag verkar lite skumt, såvida inte OpenGLRenderer överlagrar funktionen... vilket den troligtvis inte gör.
således borde Renderer ärva klassen OpenGLRenderer för att metodanropet ska fungera.
kanske bör tillägga att min C++ är lite ringrostig, har suttit för mycket med ren C :(