renvoyer un type utilisateur dans une methode C++

renvoyer un type utilisateur dans une methode C++ - C++ - Programmation

Marsh Posté le 25-07-2002 à 15:31:26    

Salut,
Bon j'ai une classe definie comme il faut, tout marche bien mais maintenant, je voudrais rajouter une methode qui renvoit un type que j'ai defini moi meme (une struct en fait). En a ce moment la, impossible de compiler comme il faut. Je voudrais bien un rapide coup de main si cela est possible.
Merci
 
ci-joint le code :

Code :
  1. class HashTable
  2. {
  3. protected:
  4. struct KeyNode {
  5.  CString Key;
  6.  CString Value[5];
  7.  int KIndex; };
  8. KeyNode HTable[50];
  9. int HIndex;
  10. public:
  11. HashTable::HashTable();
  12. HashTable::~HashTable();
  13. void HashTable::Add(CString K, CString Val);
  14. void HashTable::Remove(CString K, CString Val);
  15. int HashTable::KeyPresent(CString K);
  16. void HashTable::InitHashTable();
  17. void HashTable::ListHTable();
  18. };


 
Et je veux faire une methode renvoyant HTable, donc un pointeur sur KeyNode.
 
Merci


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 25-07-2002 à 15:31:26   

Reply

Marsh Posté le 25-07-2002 à 15:45:04    

Code :
  1. class HashTable
  2.   {
  3.     public :
  4.    typedef struct  {
  5.         CString Key;
  6.         CString Value[5];
  7.       int KIndex; }KeyNode;
  8.     protected:
  9.          
  10.      KeyNode HTable[50];
  11.      int HIndex;
  12.      
  13.     public
  14.      HashTable();
  15.      ~HashTable();
  16.      void Add(CString K, CString Val);
  17.      void Remove(CString K, CString Val);
  18.      int KeyPresent(CString K);
  19.      void InitHashTable();
  20.      void ListHTable();
  21.   };


 
Et tu fais renvoyé un KeyNode* à ta méthode


---------------
Le Tyran
Reply

Marsh Posté le 25-07-2002 à 16:05:36    

ben oui, c ce que j'ai essaye, mais ca veux pas


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 25-07-2002 à 16:07:37    

moot a écrit a écrit :

ben oui, c ce que j'ai essaye, mais ca veux pas




 
Si t'as essayé avec le code que t'as envoyé c sûr, avec le mien ça doit passer normalement (mettre les type àa renvoyer en public)


---------------
Le Tyran
Reply

Marsh Posté le 25-07-2002 à 16:16:01    

Citation :


class HashTable  
 {  
   public :  
  typedef struct  {  
       CString Key;  
       CString Value[5];  
     int KIndex; }KeyNode;  
 
   protected:  
           
    KeyNode HTable[50];  
    int HIndex;  
       
   public:    
    HashTable();  
    ~HashTable();  
    void Add(CString K, CString Val);  
    void Remove(CString K, CString Val);  
    int KeyPresent(CString K);  
    void InitHashTable();  
    void ListHTable()
 };


 
+ ca :

Code :
  1. //declaration
  2.     KeyNode* Elements();
  3. //fonction
  4. KeyNode* HashTable::Elements()
  5. {
  6. KeyNode* K;
  7. return K
  8. }


 
et toujours pb


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 25-07-2002 à 16:16:47    

moot a écrit a écrit :

Citation :


class HashTable  
 {  
   public :  
  typedef struct  {  
       CString Key;  
       CString Value[5];  
     int KIndex; }KeyNode;  
 
   protected:  
           
    KeyNode HTable[50];  
    int HIndex;  
       
   public:    
    HashTable();  
    ~HashTable();  
    void Add(CString K, CString Val);  
    void Remove(CString K, CString Val);  
    int KeyPresent(CString K);  
    void InitHashTable();  
    void ListHTable()
 };


 
+ ca :

Code :
  1. //declaration
  2.     KeyNode* Elements();
  3. //fonction
  4. KeyNode* HashTable::Elements()
  5. {
  6. KeyNode* K;
  7. return K
  8. }


 
et toujours pb
 




 
Tu peux être plus explicite? C quoi le pb?


Message édité par LetoII le 25-07-2002 à 16:17:23

---------------
Le Tyran
Reply

Marsh Posté le 25-07-2002 à 16:21:20    

Citation :


Tu peux être plus explicite? C quoi le pb?


 
dsl, c vrai j'ai pas ete super explicit
alors probleme de compilation :
 
C:\My Documents\Summerproject\projet\HashTable.h(168) : error C2501: 'KeyNode' : missing decl-specifiers
C:\My Documents\Summerproject\projet\HashTable.h(168) : error C2239: unexpected token '*' following declaration of 'KeyNode'
C:\My Documents\Summerproject\projet\HashTable.h(168) : error C2059: syntax error : '*'
C:\My Documents\Summerproject\projet\HashTable.h(171) : error C2143: syntax error : missing ';' before 'return'
 
et c tout place au niveau de la premiere ligne de la fonction (en tete)


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 25-07-2002 à 16:24:16    

HashTable::KeyNode* HashTable::Elements()  
{  
 HashTable::KeyNode* K;  
 return K  
}
 
:??:

Reply

Marsh Posté le 25-07-2002 à 16:25:15    

youdontcare a écrit a écrit :

HashTable::KeyNode* HashTable::Elements()  
{  
 HashTable::KeyNode* K;  
 return K  
}
 
:??:




 
Déjà oui ça marchera mieu :D


---------------
Le Tyran
Reply

Marsh Posté le 25-07-2002 à 16:27:41    

dsl, j'ai bokou de mal a passer du java au c++ objet alors faut pas s'etonner de ces grosses conneries  :ange:  
 
merci bokou les gars


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 25-07-2002 à 16:27:41   

Reply

Marsh Posté le 25-07-2002 à 16:28:38    

moot a écrit a écrit :

dsl, j'ai bokou de mal a passer du java au c++ objet alors faut pas s'etonner de ces grosses conneries  :ange:  
 
merci bokou les gars




 
Ca se ressemble beaucoup pourtant java et C++ (attention j'ai aps dit que ct pareil)


---------------
Le Tyran
Reply

Marsh Posté le 25-07-2002 à 16:34:24    

ouais, mais g du mal a gerer les pointeurs comme il faut.
La preuve avec cette question qui parait un peu debile qd je vois
la solution :lol:


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Marsh Posté le 25-07-2002 à 16:36:54    

C vrai que t'as pas besoin de gérer vraiment la mémoire en java. Oublie aps de faire un delete pour chaque new que t'as fait ;)


---------------
Le Tyran
Reply

Marsh Posté le 25-07-2002 à 16:38:41    

ok je vais essayer, merci


---------------
mOOt the RobomixOR, c'est comme un robot-mixeur mais en OR // Modificateur de HUD pour CS:S
Reply

Sujets relatifs:

Leave a Replay

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