débordement de la mémoire - C++ - Programmation
Marsh Posté le 18-07-2005 à 14:41:14
Code :
|
explique moi comment tu comptes passer dans le if ... explique-moi plutôt à quoi sert le if, en fait
Marsh Posté le 18-07-2005 à 14:43:58
j'ai déjà allouer la mémoire dans la boucle
Code :
|
Marsh Posté le 18-07-2005 à 14:47:10
C'est pour rire, ca, non ? ... Parce que là, c'est pas une fuite, que tu fais, c'est pire que tout ...
Edit : vect, c'est quoi, comme type ? vect *, j'imagine ... pourquoi tu ne te sers pas de la STL, pour gérer ca ?
Marsh Posté le 18-07-2005 à 14:49:17
oui oui ca n'as pas de sens, merci pour la remarque, mais ce n'est pas ca le probléme..
Marsh Posté le 18-07-2005 à 14:50:26
si, le problème est là ... vect[p], ca va partir où, pour toi ?
Marsh Posté le 18-07-2005 à 14:52:20
ok, vect est une class de type
Code :
|
c'est quoi le STL?
Marsh Posté le 18-07-2005 à 14:55:00
et bas est de type
Code :
|
Marsh Posté le 18-07-2005 à 14:58:07
STL = Standard Template Library
il va falloir que tu apprennes à t'en servir si tu veux faire du C++
On se fiche de ta classe vecteur, là, en l'occurrence ... Ce que tu fais, au final, c'est ca :
Code :
|
vect[p] te fait pointer sur une zone mémoire dont tu ne connais rien, si p est différent de 0 ...
D'où le renvoi à la STL, tu pourras y trouver de quoi gérer des listes, avec, par exemple : std::vector<vecteur>, qui t'évitera ce genre de problèmes :
Code :
|
Marsh Posté le 18-07-2005 à 15:45:55
l'utilisation de
Code :
|
me sort le message error C2039: 'vector' : is not a member of 'std'
Marsh Posté le 18-07-2005 à 15:49:55
Code :
|
...
jette un oeil aux divers sites / livres proposés ici même parce qu'on ne répondra pas toujours à ce genre de questions triviales
Marsh Posté le 18-07-2005 à 16:20:08
je suis débutante en c++, je vias prendre en compte ta remarque.
si j'ai bien compris
Code :
|
defini un tableau de vect de type vecteur de dimension dim, si c'est bien ca je dois définir le constructeur par recopie, si je me trompe corrige moi stp.
j'ai le message d'erreur:class 'vecteur' : no copy constructor available
Marsh Posté le 18-07-2005 à 16:34:03
si tu fais ca :
Code :
|
alors vect est un "tableau" de dim "vecteur"s, pour que ca fonctionne, il te faut un constructeur par défaut (sans paramètre, quoi) ou alors tu peux donner un vecteur qui représentera la valeur par défaut, auquel cas, oui, il te faut un constructeur par recopie.
par exemple :
Code :
|
te permettra de faire :
Code :
|
qui va te créer "dim" "vecteur"s par défaut (donc initialisés à (0.0f, 0.0f) ) ou encore
Code :
|
qui crée donc un tableau de "dim" "vecteur"s initialisés avec leur x à 1.0 et leur y à -1.0
Edit : j'imagine que le problème que tu as vient du manque de "const" dans ta version
Marsh Posté le 18-07-2005 à 16:51:29
Youuuuuupi, ca maaaaaaaaaarche!!
je te remercie infiniment.
Marsh Posté le 18-07-2005 à 14:24:28
Hi,
je ne sais plus pourquoi le programme ci contre ne marche plus pour dim trés grande 60 par exemple
Please help