संकलन समय पर एक enum सदस्य का मूल्य प्राप्त करना संभव है?संकलन समय पर एनम सदस्य का मूल्य प्राप्त करना संभव है?
वास्तव में, मैं इस तरह कुछ करने के लिए सक्षम होना चाहते हैं:
enum {
FOO_FIRST = -1,
FOO_A,
FOO_B,
FOO_C,
FOO_LAST
};
#if FOO_LAST > 10
//...
#else
//..
#endif
मुझे पता है कि cpp
चर, बुरा वाक्य रचना, आदि के बारे में पता नहीं है, केवल #
(दाएं) से शुरू होने वाली चीजें? लेकिन एक enum के सदस्यों के पास निश्चित आकार है और इसे 10 (निरंतर पूर्णांक) मान की तरह बदला नहीं जा सकता है और संकलक इसके आकार और मूल्यों को जानता है। तो, क्या ऐसी तुलना करने की कोई संभावना नहीं है (जैसा मैंने ऊपर किया था)? जीसीसी-एक्सटेंशन भी बहुत सराहना की जाती है।
यह #define
एस का उपयोग करके मेरी सभी गणनाओं को फिर से लिखने का प्रयास नहीं है और कुछ समय मैक्रोज़ परिवर्तन करने में मेरा समय न लें।
आप अपने '# if' ब्लॉक के अंदर क्या करने की कोशिश कर रहे हैं? – ecatmur
किसी भी वास्तविक उपयोग के मामले में, जहां इस उपयोगी है के बारे में सोच नहीं कर सकते .. –
[enum और #define] (http://stackoverflow.com/questions/136946/difference-between-enum-and-define-statements) – SparKot