क्या सी ++ 11 में जांच करने का एक तरीका है यदि एक एनम निरंतर है ?
यह एक एनम मान देने के लिए पूरी तरह से वैध है जो नहीं हैं। क्या सी + 14, सी ++ 17 या शायद सी ++ 20 की जांच करने के लिए एक प्रकार की विशेषता है जैसे कि एनम निरंतर है? इसका उपयोग static_assert में किया जाना है।
एक छोटा सा उदाहरण इस प्रकार है:
enum class Types_Discontinuous {
A = 10,
B = 1,
C = 100
};
enum class Types_Continuous {
A = 0,
B = 1,
C = 2
};
static_assert(SOME_TEST<Types_Discontinuous>::value, "Enum should be continuous"); // Fails
static_assert(SOME_TEST<Types_Continuous>::value, "Enum should be continuous"); // Passes
enum
। अफसोस की बात है कि मेरे पास एक दिन का काम है, इसलिए मैं इसे लिखने का प्रयास नहीं कर सकता, हालांकि मैं इस दृष्टिकोण के आधार पर एक उत्तर दूंगा। मुझे पूरा यकीन है कि @barry या @sehe जैसा कोई भी ऐसा कर सकता है।
static_assert
)? यहां तक कि अगर आप एक "सुंदर समाधान" नहीं बना सकते हैं, तो कृपया किसी भी तरह से उत्तर लिखें क्योंकि मैं बहुत उत्सुक हूं कि यह सामान्य तरीके से कैसे किया जा सकता है।