C++ : gros probleme avec les unions !

C++ : gros probleme avec les unions ! - C++ - Programmation

Marsh Posté le 19-09-2002 à 20:57:31    

voila, dans le cadre d'un projet a fortes contraintes memopires, je voudrais avoir un truc comme ca comme membre d'une de mes classes :
enum type{bloc_1, bloc_2)
 
struct bidule{
 
enum type type_val;
union
{
uchar* truc;
xBloc * machin; (xBloc etant une structure , composse de 3 tableaux representant une cle crypto)
}
 
je ne connais la taille des 2 tabkleaux, qui sont 2 vues differentes de la meme chose (je voulais avoir 2 vues d'un meme objet, donc commencant a la meme adresse, d'ou l'union), qu'au moment de l'appel du constructeur de la classe.
 
Comment je fais, en utilisant new, pour creer un pointeur sur cet objet en donnant la taille des tableaux en parametres :??:
 
}


---------------
"OCPLB : On Casse Pas Le Binôme, 'moiselle Jade, Carlson & Peters, page 823 !"
Reply

Marsh Posté le 19-09-2002 à 20:57:31   

Reply

Marsh Posté le 20-09-2002 à 06:12:24    

Limite compréhensible ton explication...

Code :
  1. struct bidule{
  2. enum type{bloc_1, bloc_2} type_val;
  3. union{
  4.  uchar* puchar;
  5.  xBloc* pxBloc;
  6. };
  7. bidule(size_t dim){
  8.  pxBloc= new xBloc[dim];
  9. }
  10. };


Attention, il n'est pas garanti que les deux pointeurs soient compatibles.
Si tu as plusieurs dimensions, seule la première peut être variable.
 
Les tableaux dans xBloc ne peuvent pas être de dimension dynamique.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Sujets relatifs:

Leave a Replay

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