Methode für ungültig umgewandeltes Objekt aufgerufen
Nach oben zu Zugriffsfehler
Der Fehler Methode für ungültig umgewandeltes Objekt aufgerufen
wird von einem Aufruf einer Methode außerhalb des gültigen Arbeitsspeichers verursacht. Das folgende Beispiel erstellt ein Array mit zwei someclass
-Objekten, versucht aber die Methode des dritten Objekts aufzurufen; da Arrays nullbasiert sind, erfolgt der Zugriff auf nicht-initialisierten Arbeitsspeicher.
#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;
}