probleme avec classe

probleme avec classe - C++ - Programmation

Marsh Posté le 14-06-2007 à 15:51:12    

Voila, j'ai un petit problème que je ne comprend pas!!!!
 
J'essaye d'utiliser une classe que je n'est pas programmer et c pas facile!!
 
dans ma class Facet en public je declare:
 
 Vector N;
 
la j'ai plein d'erreur :
Facet.cpp:40: undefined reference to `Vector::Vector(int)'
Facet.cpp:40: undefined reference to `Vector::Vector(int)'
Facet.cpp:31: undefined reference to `Vector::Vector(int)'
 
 
par contre si je le declare avec pointeur:
 
 Vector* N;
la pas de souci, pas d'erreur!!!!!!!!!!!!!
 
est ce normal???????????


Message édité par bipbip2000 le 14-06-2007 à 17:03:10
Reply

Marsh Posté le 14-06-2007 à 15:51:12   

Reply

Marsh Posté le 14-06-2007 à 16:51:08    

Quelle est le contenu de Facet.cpp? Les lignes 40 et 31 en particulier....

Reply

Marsh Posté le 14-06-2007 à 17:02:43    

IrmatDen a écrit :

Quelle est le contenu de Facet.cpp? Les lignes 40 et 31 en particulier....


 

Code :
  1. Facet::Facet() {          // ligne 27 erreur!!!!
  2.     init();
  3. }
  4. Facet::Facet(Particle * a, Particle *b, Particle *c) { //ligne 31 erreurr aussi
  5.     this->E[0] = a;
  6.     this->E[1] = b;
  7.     this->E[2] = c;
  8.     for (unsigned int i=0;i<3;i++)
  9.         ref[i]=-1;
  10.     link = NULL;
  11. }
  12. Facet::Facet(const Facet & f) { //ligne 40 erreur
  13.     for(unsigned int i=0;i<3;i++) {
  14.         E[i] = f.E[i];
  15.         ref[i]= f.ref[i];
  16.     }
  17.     link = f.link;
  18. }
  19. // -------------------- destructor --------------------
  20. Facet::~Facet() {   //ligne 51!!!!!!!!!!!
  21.     init(); // just in case
  22. }


 
j'avais pas mis toute les erreur mais bon les voila (j'ai mis ou yavai les erreur sur le code) :
Facet.cpp:40: undefined reference to `Vector::Vector(int)'
Facet.cpp:40: undefined reference to `Vector::Vector(int)'
Facet.cpp:31: undefined reference to `Vector::Vector(int)'
Facet.cpp:31: undefined reference to `Vector::Vector(int)'
Facet.cpp:27: undefined reference to `Vector::Vector(int)'
Facet.cpp:27: more undefined references to `Vector::Vector(int)' follow
Facet.o: In function `~Facet':
Facet.cpp:51: undefined reference to `Vector::~Vector()'
Facet.cpp:51: undefined reference to `Vector::~Vector()'
 
 
le souci c'est que j'arrive a en déclarer qd je met un pointeur et pas quand ce n'est pas un pointeur...

Reply

Marsh Posté le 14-06-2007 à 17:11:25    

pb de forward declaration surement

Reply

Marsh Posté le 14-06-2007 à 17:25:03    

jète ta classe Vector et utilise std::vector

Reply

Marsh Posté le 14-06-2007 à 17:29:00    

Taz a écrit :

jète ta classe Vector et utilise std::vector


 
 
je l'utilise aussi mais cette classe Vector fait plein de chose qui me seront utile et est utiliser partout sur une autre classe que j'utilise donc...faudrai que je change plein de truc
 
merci qd meme!v essayer de me debrouiller

Reply

Marsh Posté le 14-06-2007 à 18:39:22    

Il n'y a pas de constructeur par défaut? L'appel de la fonction est fait avec un int en paramètre?
Si tu pouvais montrer les constructeurs, ainsi que l'utilisation des fonctions ça aiderait aussi.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed