Bonjour, je voudrai supprimer des Points dans une Grille formé de Points...

En gros, c'est comme si je voudrai supprimer des entiers dans un vector !

Je crois qu'il faut utiliser des iterator mais quand je fais ceci cela compile mais cela mais des erreurs à l'execution.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
int IGrille::supprimePointDejaOptimise(IGrille* grillePrecedente)
//
// Suppression des points de la Grille déjà calculés (eviter calculs redondants)
//
{
int noPoint,noPointPrecedente;
IParetoPoint* pointGrille,* pointGrillePrecedente;
std::vector< IParetoPoint* >::iterator iter;
std::vector< int > aSupprimer;
 
for(noPointPrecedente=0;noPointPrecedente<grillePrecedente->getSize();noPointPrecedente++)
{
pointGrillePrecedente = (grillePrecedente->getGrille())[noPointPrecedente];
for (noPoint = 0; noPoint != (int)_grille.size(); noPoint++)
{
	pointGrille = _grille[noPoint];
	if(pointGrille->egale(pointGrillePrecedente)) {// point déjà optimisé
		printf("+++++++++ point numero %d a supprimer \n",noPoint);
		aSupprimer.push_back(noPoint);
		}
	}
}
 
for (noPoint = 0; noPoint != (int)aSupprimer.size(); noPoint++)
{
	iter = (std::vector< IParetoPoint* >::iterator) _grille.begin()+aSupprimer[noPoint];
	_grille.erase(iter);// suppression du point
}
return 0;
}
Je vous remercie d'avance pour votre aide...