je n'en peux plus.... Aucune des 3 propositions adoptées par ce satané compilateur... (je suis sous C++ Builder 2010
Avec comme message commun aux 3 méthodes proposées:
[BCC32 Erreur] unit1.h(530): E2034 Impossible de convertir 'MYSTRUCT1_S *' en 'auto_ptr<MYSTRUCT_S>'
[BCC32 Erreur] unit1.h(537): E2034 Impossible de convertir 'MYSTRUCT2_S *' en 'auto_ptr<MYSTRUCT_S>'
Erreur sur ligne:
std::auto_ptr<MYSTRUCT_S> ret = new MYSTRUCT1_S;
et
std::auto_ptr<MYSTRUCT_S> ret = new MYSTRUCT2_S;
==========================================
Finalement je pense que la méthode avec union semble la plus adaptée.
Mais, quelle autre terminologie utiliser alors pour définir ma variable de travail déclarée comme ci-dessous, // dans unit1.cpp - form principale.
static MYSTRUCT_S MyData;
Je ne peux pas faire çà:
1 2
| static MYSTRUCT1_S MyData;
static MYSTRUCT2_S MyData; |
et la fonction suivante qui la renvoie: // déclarée aussi dans unit1.cpp mais pouvant être appelée par d'autres unités.
1 2 3 4
| MYSTRUCT_S* Get_MyData(void) {
return(&MyData);
};
/* ici [BCC32 Erreur] unit1.cpp(372): E2316 'MyData' n'est pas un membre de 'MYSTRUCT_S' */ |
Merci de me supporter..
Partager