considerar esto una¿Se instancian los miembros "enum class" inmediatamente o más tarde cuando se usan?
template<typename T>
struct A {
enum class X {
V = T()
};
};
Para las clases de miembros y funciones miembro, C++ 11 (03 y C++) no va a crear una instancia de su definición, a menos que los usamos de una manera que requiere su definición. ¿Es esto cierto para enum class
?
// valid?
A<std::string> a;
Por desgracia, no puedo comprobar compiladores, ya que C++ 11 es justo fuera de la puerta y todo lo que no es confiable, sin embargo, lo que parece.
No creo que 'A a;' sea válido a menos que 'std :: string' se pueda convertir implícitamente a' int'. Pero, de nuevo ... –
Florian