2015-09-04 3 views
-4
PNG * original; 
    original->readFromFile("in.png"); 
    int width = original->width(); 
    int height = original->height(); 

Je reçois une erreur de segmentation dans ce bit de code. Qu'est-ce que je fais mal?Erreur de segmentation simple Proglem

+0

Avez-vous déjà initialisé 'PNG * original'? Sinon, le déréférencement sera indéfini. –

+0

-1 parce que vous auriez vraiment pu essayer un peu plus dur sur celui-là. Au moins, essayez de résoudre vos problèmes avant de demander de l'aide. –

Répondre

1

Vous déréférencer original sans y avoir préalablement attribué de numéro.

Vous l'avez déclaré comme PNG * mais n'avez pas affecté une instance d'objet à ce pointeur.

2

Vous devez allouer de la mémoire, car original c'est juste un pointeur.

Comme ceci:

PNG *original = new PNG(); 
0

Peut-être que vous n'avez pas besoin d'utiliser un pointeur

PNG original; 
original.readFromFile("in.png"); 
int width = original.width(); 
int height = original.height(); 

Malgré ce que certains débutants semblent penser les pointeurs ne sont pas obligatoires.