Sur-dépassement Accès

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Erreurs d'accès


Une erreur Sur-dépassement Accès survient à cause d'un accès mémoire au-delà de la fin d'une région de mémoire, tel que l'indexation du troisième élément d'un tableau dans une liste de deux éléments, ou la copie de données au-delà de la fin d'une région de mémoire. Ces deux situations sont présentées dans le code suivant :


#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].publicalval = 10; //error
  delete[] myc;
  char *chlist = new char[10];
  strcpy(chlist, "1234567890" )  ; // error
  delete [] chlist;
 
}



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