Outils d'utilisateurs

Outils du Site


enum_class

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

enum_class [2016/08/03 02:25]
gbdivers
enum_class [2016/08/23 00:45] (Version actuelle)
gbdivers
Ligne 140: Ligne 140:
 </code> </code>
  
-Il est egalement possible de convertir un nombre entier en valeur d'une enumeration avec "static_cast".+Il est également possible de convertir un nombre entier en valeur d'une enumeration avec "static_cast".
  
 <code cpp> <code cpp>
Ligne 147: Ligne 147:
 </code> </code>
  
-<note>**Anciennes syntaxe**s+<note>**Ancienne syntaxe**
  
-Sans le mot cle ''class''. Definit les enum dans la portee globale.+Meme syntaxe, sans le mot-clé ''class''.  
 + 
 +<code cpp> 
 +enum Couleur { 
 +    Noir, Blanc, Rouge, Jaune, Bleu, Orange, Vert, Violet 
 +}; 
 + 
 +Couleur une_couleur { Rouge };  // initialisation 
 +une_couleur = Bleu;             // affectation 
 +</code> 
 + 
 +Definit les enum dans la portee globale (//unscoped enum//). "Dans la portée globale" signifie qu'il n'est pas nécessaire d'indiquer la portée ''Couleur::''. Cela peut provoquer des conflits, par exemple : 
 + 
 +<code cpp> 
 +enum Pion { 
 +    Noir, Blanc 
 +}; 
 + 
 +enum Couleur { 
 +    Noir, Blanc, Rouge, Jaune, Bleu, Orange, Vert, Violet // confit 
 +}; 
 +</code> 
 +affiche les erreurs suivantes : 
 + 
 +<code> 
 +main.cpp:8:5: error: redefinition of enumerator 'Noir' 
 +    Noir, Blanc, Rouge, Jaune, Bleu, Orange, Vert, Violet // confit 
 +    ^ 
 +main.cpp:4:5: note: previous definition is here 
 +    Noir, Blanc 
 +    ^ 
 +main.cpp:8:11: error: redefinition of enumerator 'Blanc' 
 +    Noir, Blanc, Rouge, Jaune, Bleu, Orange, Vert, Violet // confit 
 +          ^ 
 +main.cpp:4:11: note: previous definition is here 
 +    Noir, Blanc 
 +          ^    
 +</code> 
 + 
 +Ce type d'énumération ne nécessite pas de conversion explicite avec ''static_cast'' pour convertir en entier, les valeurs sont convertie implicitement (promotion) entiers.
 </note> </note>
  
enum_class.1470183921.txt.gz · Dernière modification: 2016/08/03 02:25 par gbdivers