क्या सी-स्टाइल मैक्रो नाम पहचानकर्ताओं के समान नामकरण नियमों के अधीन हैं? एक संकलक अपग्रेड करने के बाद, यह अब एक विरासत आवेदन के लिए यह चेतावनी उत्सर्जित करती है:मैक्रो नामों के लिए मान्य वर्ण क्या हैं?
warning #3649-D: white space is required between the macro name "CHAR_" and its replacement text
#define CHAR_& 38
कोड की यह पंक्ति एक ASCII मूल्य एक ampersand के लिए निरंतर परिभाषित करने है।
#define DOL_SN 36
#define PERCENT 37
#define CHAR_& 38
#define RT_SING 39
#define LF_PAR 40
मुझे लगता है कि इस परिभाषा (वास्तव में, किसी भी कोड द्वारा संदर्भित नहीं जहाँ तक मैं बता सकता हूँ) गाड़ी है और "CHAR_AMPERSAND" की तरह कुछ करने के लिए परिवर्तित किया जाना चाहिए?
आईएसओ/आईईसी 98 99: टीसी 3 6.10/1 प्रीप्रोकैसिंग निर्देशों के व्याकरण को निर्दिष्ट करता है, यह स्पष्ट करता है कि मैक्रो नाम पहचानकर्ताओं के समान सटीक नियम साझा करते हैं। 6.4.2.1/1 पहचानकर्ताओं के लिए नियम निर्दिष्ट करता है। – saffsd