Question de débutant.. mes excuses si j'me suis trompé de groupe de
discussion.
J'ai un pointeur monObjet sur une structure obj. Cette structure contient un
objet vector de la stl. Quand je tente de faire mon push_back le programme
plante. Je n'en comprend pas la raison et ne trouve pas d'alternative..
merci
Pierrick
#include <vector>
typedef struct {
float x,y,z;
} v3d;
typedef struct {
vector<v3d> points;
...
} obj;
void lireObjet (char *monFichier, obj *monObjet)
{
v3d vecteur;
...
// Plante à la ligne suivante :
monObjet->points.push_back(vecteur);
...
}
void lireObjet (char *monFichier, obj *monObjet) { v3d vecteur; ... // Plante à la ligne suivante : monObjet->points.push_back(vecteur); ... }
Postes l'appel de cette fonction. Je dirais que tu envoies un pointeur non valide (par ex. pas alloué) etc... Et puis, un conseil, évites d'utiliser char * pour des chaines, mais std::string Pour passer un obj une référence est mieux qu'un pointeur. Tu as appris le C, ça se voit ;-)
void lireObjet (char *monFichier, obj *monObjet)
{
v3d vecteur;
...
// Plante à la ligne suivante :
monObjet->points.push_back(vecteur);
...
}
Postes l'appel de cette fonction. Je dirais que tu envoies un pointeur non
valide (par ex. pas alloué) etc...
Et puis, un conseil, évites d'utiliser char * pour des chaines, mais
std::string
Pour passer un obj une référence est mieux qu'un pointeur.
Tu as appris le C, ça se voit ;-)
void lireObjet (char *monFichier, obj *monObjet) { v3d vecteur; ... // Plante à la ligne suivante : monObjet->points.push_back(vecteur); ... }
Postes l'appel de cette fonction. Je dirais que tu envoies un pointeur non valide (par ex. pas alloué) etc... Et puis, un conseil, évites d'utiliser char * pour des chaines, mais std::string Pour passer un obj une référence est mieux qu'un pointeur. Tu as appris le C, ça se voit ;-)
Pierrick
"Tu as appris le C, ça se voit" oui plein d'habitudes à perdre vite fait ^__^ Bien vu mon pointeur ne pointait nulle part, vous êtes des chefs !
Merci
Pierrick
Postes l'appel de cette fonction. Je dirais que tu envoies un pointeur non valide (par ex. pas alloué) etc... Et puis, un conseil, évites d'utiliser char * pour des chaines, mais std::string Pour passer un obj une référence est mieux qu'un pointeur. Tu as appris le C, ça se voit ;-)
"Tu as appris le C, ça se voit"
oui plein d'habitudes à perdre vite fait ^__^
Bien vu mon pointeur ne pointait nulle part, vous êtes des chefs !
Merci
Pierrick
Postes l'appel de cette fonction. Je dirais que tu envoies un pointeur non
valide (par ex. pas alloué) etc...
Et puis, un conseil, évites d'utiliser char * pour des chaines, mais
std::string
Pour passer un obj une référence est mieux qu'un pointeur.
Tu as appris le C, ça se voit ;-)
"Tu as appris le C, ça se voit" oui plein d'habitudes à perdre vite fait ^__^ Bien vu mon pointeur ne pointait nulle part, vous êtes des chefs !
Merci
Pierrick
Postes l'appel de cette fonction. Je dirais que tu envoies un pointeur non valide (par ex. pas alloué) etc... Et puis, un conseil, évites d'utiliser char * pour des chaines, mais std::string Pour passer un obj une référence est mieux qu'un pointeur. Tu as appris le C, ça se voit ;-)