c++ एनम प्रकारों में कॉन्स्ट स्पेसियर का कार्य क्या है?



c++11 enums (1)

enum-base के विनिर्देश में const क्वालिफायर को अनदेखा किया जाता है; जो बस एक अभिन्न प्रकार की अपेक्षा करता है जिसका उपयोग अंतर्निहित प्रकार की गणना के प्रकार के रूप में किया जाना है, निर्दिष्ट const (या volatile ) बहुत मायने नहीं रखता है।

(जोर मेरा)

बृहदान्त्र (:), इसके बाद एक प्रकार-विनिर्देशक-सेक जो एक अभिन्न प्रकार का नाम देता है ( यदि यह cv-योग्य है, योग्यता की अनदेखी की जाती है ) जो इस गणना प्रकार के लिए निश्चित अंतर्निहित प्रकार के रूप में काम करेगा

मानक से, [dcl.enum]/2 :

(जोर मेरा)

enum-base का type-specifier-seq एक अभिन्न प्रकार का नाम देगा; किसी भी cv-योग्यता की अनदेखी की जाती है

https://code.i-harness.com

enum foo : const unsigned int
{
    F,
    S,
    T
};

void func()
{
    foo p;
    p = F;
}

उपरोक्त संकलन इसलिए अंतर्निहित प्रकार एक कास्ट प्रकार नहीं है?





language-lawyer