Méthode appelée sur un objet incorrectement transtypé

De RAD Studio
Aller à : navigation, rechercher

Remonter à Erreurs d'accès

Un appel à une méthode hors d'une mémoire valide générera l'erreur Méthode appelée sur un objet incorrectement transtypé. L'exemple suivant crée un tableau de deux objets someclass, mais essaie d'appeler la méthode du troisième objet. Puisque les tableaux sont indexés à partir de zéro, il accède à une mémoire non initialisée.


#include <tchar.h>
#pragma hdrstop
#include<stdio.h>
#include<dir.h>
class someclass{
	int fnumber;
  public:
	int getnumber(){return fnumber;}
	void setnumber(int nw){fnumber = nw;}
	int doublev(int val){return val*2;}
	int publicalval;

};
void myf()
{
  someclass *myc = new someclass[2];
  int answ;
  answ = myc[2].doublev(5); // error
  delete[] myc;
 
}



int _tmain(int argc, _TCHAR* argv[])
{
	myf();
	return 0;
}