#include <iostream>
struct a {
enum LOCAL_A { A1, A2 };
};
enum class b { B1, B2 };
int foo(int input) { return input; }
int main(void) {
std::cout << foo(a::A1) << std::endl;
std::cout << foo(static_cast<int>(b::B2)) << std::endl;
}
वह a::LOCAL_A
है जो दृढ़ता से टाइप की गई एनम हासिल करने की कोशिश कर रहा है, लेकिन एक छोटा सा अंतर है: सामान्य एनम को पूर्णांक प्रकार में परिवर्तित किया जा सकता है, जबकि दृढ़ता से टाइप किए गए एनम बिना कलाकारों के नहीं कर सकते हैं।
तो, क्या एक डाली के बिना पूर्ण रूप से टाइप किए गए एनम मूल्य को पूर्णांक प्रकार में बदलने का एक तरीका है? यदि हाँ, तो कैसे?