fonction qui retourne une structure

fonction qui retourne une structure - C++ - Programmation

Marsh Posté le 19-03-2003 à 10:35:10    

J'ai un probleme avec une fonction qui retourne une structure.

Code :
  1. struct WBL
  2. {
  3.  long pcs;
  4.  long wgt;
  5.  char org[MAX_LOC_LEN];
  6.  char dst[MAX_LOC_LEN];
  7.     char dsc[ MAX_DSC_LEN ];
  8.     char sph[ MAX_SPH_LEN ];
  9. };


 
voici le proto de ma fonction :
struct WBL* GetWBL(char line[]);
 
et voici la fonction en question :
struct WBL* CMyClasse::GetWBL(char line[])
{
}
 
a la compilatoin j'ai l'erreur suivante :
error C2556: 'struct WBL *__cdecl CMyClasse::GetWBL(char [])' : overloaded function differs only by return type from 'struct CMyClasse::WBL *__cdecl CMyClasse::GetWBL(char [])'
deuxieme erreur :  
error C2371: 'GetWBL' : redefinition; different basic types
 
J'en viens donc a me demander si c bien comme ca qu'on doit faire pour retourner une structure (ou un pointeur sur une structure).
 
Merci pour votre aide.


Message édité par polo021 le 19-03-2003 à 11:05:51
Reply

Marsh Posté le 19-03-2003 à 10:35:10   

Reply

Marsh Posté le 19-03-2003 à 12:40:44    

Ben c'est ecrit noir sur blanc(en gras)
 
error C2556: 'struct WBL *__cdecl CMyClasse::GetWBL(char [])' : overloaded function differs only by return type from 'struct CMyClasse::WBL *__cdecl CMyClasse::GetWBL(char [])'  
deuxieme erreur :  
error C2371: 'GetWBL' : redefinition; different basic types


Message édité par Clie le 19-03-2003 à 12:41:20
Reply

Marsh Posté le 19-03-2003 à 12:45:05    

tu peux donner des precisions?

Reply

Marsh Posté le 19-03-2003 à 13:17:34    

C'est pourtant clair si tu lis attentivement le message d'erreur : dans un cas, est retourné "struct WBL *" alors que dans l'autre cas, c'est "struct CMyClasse::WBL *" qui est retourné.
 
Il y a une structure définie à l'intérieur de la classe et l'autre à l'extérieur de la classe. Il s'agit bien de 2 types différents, donc incompatibles.


Message édité par BifaceMcLeOD le 19-03-2003 à 13:18:06
Reply

Sujets relatifs:

Leave a Replay

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