C++ déclarant statique enum vs enum dans une classe

Quelle est la différence entre le static enum et enum définitions lorsqu'elle est définie à l'intérieur d'une déclaration de classe comme celle ci-dessous?

class Example
{
     Example();
     ~Example();

     static enum Items{ desk = 0, chair, monitor };
     enum Colors{ red = 0, blue, green };
}

Aussi, puisque nous sommes à la définition des types dans une classe, que faisons-nous les appeler? Par analogie, si je définis une variable dans une classe, nous l'appelons une variable membre.

  • Quel compilateur que vous utilisez? Il me surprendrait si cette compile, comme static ne serait pas beaucoup de sens ici.
  • Si vous êtes à l'aide de C++11, pensez à utiliser enum class.
  • Le static spécificateur n'est pas valide dans une déclaration d'enum. Cela ne devrait pas compiler.
  • Je suis à l'aide de Visual Studio 2012. Savez-vous où je peux trouver le compilateur utilisé? Je vois la Plate-forme d'Outils de Visual Studio 2012 (v110).
  • J'ai ouvert une invite de commande Visual Studio et a couru cl.exe. Il dit que je suis en utilisant Microsost (R) C/C++ Compilateur Optimisant la Version 17.00.50727.1 pour X86.
  • Double Possible de C++: ce n'est "statique " enum" signifie
  • Voir aussi Qu'est “statique " enum” signifie en C++?

InformationsquelleAutor user3731622 | 2015-02-24