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

  FORUM HardWare.fr
  Programmation
  C++

  constructeur dans enum....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

constructeur dans enum....

n°934603
xterminhat​e
Si vis pacem, para bellum.
Posté le 31-12-2004 à 12:44:16  profilanswer
 

Code :
  1. // un enum...
  2. enum e { a = 1, b = 2 };
  3. //une fonction
  4. template< int val >
  5. e fonction() { return val; }


 
Le compilateur ne semble pas en mesure de convertir un int en un enum ? D'ou l'idée de coder un constructeur e( const int& )... c'est possible ou j'ai révé ? Une fonction libre alors... ou une autre démarche plus sympa ?


---------------
Cordialement, Xterm-in'Hate...
mood
Publicité
Posté le 31-12-2004 à 12:44:16  profilanswer
 

n°934636
ouned-codi​ng
Posté le 31-12-2004 à 13:49:06  profilanswer
 

Je suis pas sur de comprendre ce que tu recherches ... je te mets une alternative (toujours sans avoir bien saisie) :
 

Code :
  1. // un type e (avec 2 variables de type int)
  2. typedef enum { a = 1, b = 2 } e;
  3. //une fonction
  4. template <int val>
  5. e fonction() { return val; }


 
Ca devrait compiler sans problèmes, apres le resultat...
 
 
 

Citation :

Le compilateur ne semble pas en mesure de convertir un int en un enum ?


En tout cas, ce que je peux t'affirmer, c'est qu'un type énumératif (enum) et un int sont considérés comme différents (pourtant de meme nature nan ?)


Message édité par ouned-coding le 31-12-2004 à 14:10:43
n°934648
xterminhat​e
Si vis pacem, para bellum.
Posté le 31-12-2004 à 14:25:58  profilanswer
 

L'erreur est au niveau de return val; sachant que la conversion enum vers int n'est pas possible. Le contraire l'est pourtant.
 
Je pensais que faire un template avec un type enum n'etait pas possible. En fait, c'est possible. La solution est donc évidente :

Code :
  1. template<e val>
  2. e fonction(){return val; }


Ca compile.


---------------
Cordialement, Xterm-in'Hate...
n°934654
ouned-codi​ng
Posté le 31-12-2004 à 14:32:25  profilanswer
 

:) ben moi vais me compiler un template de steak et piperade en espagne.
 
bonne journée


Message édité par ouned-coding le 31-12-2004 à 14:33:50
n°934657
xterminhat​e
Si vis pacem, para bellum.
Posté le 31-12-2004 à 14:44:22  profilanswer
 

throw buen_apetito();


---------------
Cordialement, Xterm-in'Hate...

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

  constructeur dans enum....

 

Sujets relatifs
Incrémentation d'un enum en Javaconstructeur d'un type générique [Résolu : pas possible]
[résolu][C++]Passage de paramètres au constructeur d'une classe mère[c++] rappel de constructeur
Constructeur & taille de tableau spécifiée par const intArgument depuis constructeur dans limite tableau
[C++] Pointeur sur constructeur ou Pointeur sur Classe ?prob de surcharge de constructeur
[Class] Constructeur et allocation de mémoire.Petit problème avec un héritage : constructeur incorrect ?
Plus de sujets relatifs à : constructeur dans enum....


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