Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1088 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [c++] classe et typedef

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[c++] classe et typedef

n°1008934
lordankou
Posté le 10-03-2005 à 22:26:54  profilanswer
 

j'ai un petit probleme de compilation sur une classe concernant une structure defini comme suit :

Code :
  1. // variables et methodes prives
  2. private :
  3.   // variables
  4.   struct UnCouple{
  5.     couple MonCouple; // on definit un couple de carte
  6.     struct couple* suivant; // pointeur sur le couple suivant
  7.   };
  8.   // variable et methodes public
  9. public :
  10.   // variable
  11.   typedef struct UnCouple* Paquet; // on definit un type Paquet qui va pointer sur le haut du paquet
  12.   Paquet MonPaquet ; // paquet de jeu


 
dans mon hpp j'ai la méthode suivante :

Code :
  1. Paquet ajouterCouple(int);


qui a pour but de retourner un objet de type Paquet
 
dans mon cpp j'ai l'équivalent :

Code :
  1. Paquet paquet::ajouterCouple(int MaValeur){
  2.   // declaration d'un paquet de carte
  3.   Paquet PaquetTemp;
  4.  
  5.   return PaquetTemp;
  6. }


 
or à la compilation il me sort :
76 F:\FAC\POO\V2\paquet.cpp syntax error before `::' token  
 
quand je mes la fonction en commentaire dans le cpp il ne m'indique plus d'erreur, ce qui veut donc dire que l'erreur vient du cpp mais pourtant je ne comprends absoluement pas pourquoi  :(


Message édité par lordankou le 10-03-2005 à 22:41:16
mood
Publicité
Posté le 10-03-2005 à 22:26:54  profilanswer
 

n°1008942
IrmatDen
Posté le 10-03-2005 à 22:29:48  profilanswer
 

Citation :

syntax error before `::' token


c'est clair non ? Regarde le nom de ta classe et la façon dont tu l'as écris  :ange:

n°1008965
lordankou
Posté le 10-03-2005 à 22:41:01  profilanswer
 

justement je ne vois pas le probleme
ma classe s'appelle :
 

Code :
  1. class paquet{


 
est le prototype de ma fonction fait bien référence à cette classe.

n°1008968
IrmatDen
Posté le 10-03-2005 à 22:43:09  profilanswer
 

Je saisis pas

Citation :

Paquet paquet::ajouterCouple


 
Tu renvois un Paquet a partir de ta classe paquet ?

n°1008974
lordankou
Posté le 10-03-2005 à 22:47:07  profilanswer
 

bah euh oué je vois pas le problème encore une fois. c'est deux choses distincts puisque Paquet est un pointeur sur une structure et paquet est une classe.
Etant donné que c++ fait la différence entre les majuscules je ne vois pas le problème.
Mais est ce que je peux retourner une variable dont je viens de définir le type dans le hpp ?

n°1009004
IrmatDen
Posté le 10-03-2005 à 23:27:45  profilanswer
 

Oops excuse moi c'était mon moment "boulet" de la soirée et j'espère que c'est fini.
Essaye peut-être

Code :
  1. paquet::Paquet paquet::ajouterCouple(int MaValeur)

n°1009023
lordankou
Posté le 10-03-2005 à 23:41:34  profilanswer
 

merci en effet ça marche mieux.
en fait le paquet::Paquet sert à dire à la classe que le type Paquet est défini dans le header de classe paquet ?
(il faut reconnaitre que le nom de ma classe et du type ne sont pas des plus judicieux :D)

n°1009165
IrmatDen
Posté le 11-03-2005 à 00:44:01  profilanswer
 

Oui tout type créé dans une classe doit toujours être préfixé du nom de la classe lorsque tu le saisi en dehors du contexte de classe.
Et pour les noms de classe, structure... c'est bien de faire quelque chose de rapidement compréhensible. Si tu te replonges dans un code au bout de quelques mois, tu apprécieras grandement. Et s'il s'agit d'un projet dont les sources peuvent/doivent être vus par du monde c'est encore plus apprécié.


Message édité par IrmatDen le 11-03-2005 à 00:46:27

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [c++] classe et typedef

 

Sujets relatifs
affichage d'un typedef enumProblème de syntaxe sur une classe
appel d'un objet d'une autre classe dans une classeaction listener d'un bouton utilisé dans une autre classe
[CSS] Pseudo-classe :first-letter ne fonctionne pas sous IE6Classe Lecture
Pointeur de fonction membre sur fonction membre de meme classe[C++] classe Vector pas puissante ?
[Débutant] Problème de classeClasse Vector sou super Waba (pour PDA)
Plus de sujets relatifs à : [c++] classe et typedef


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR