Only if enum's are the same size as int's, which not all compilers will always do
The C++ Standard makes it clear that "it is implementation-defined which integral type is used as the underlying type for an enumeration except that the underlying type shall not be larger than int unless the value of an enumerator cannot fit in an int or unsigned int."