Sunday, 15 September 2013

Multi-statement Macros in C++ -


सी ++ में , क्या बहु-स्टेटमेंट मैक्रो नेस्टेड यदि बयानों के अंदर से नीचे की तरह की तरह? मैं इसे थोड़ी देर के लिए प्रयास कर रहा हूं और मुझे दूसरा मौका मिल रहा है अगर बयान ' प्रतीक ' को देखने में सक्षम नहीं है। शायद मुझे मैक्रो को आगे समझने की आवश्यकता है।

  # MATCH_SYMBOL परिभाषित करें (प्रतीक, टोकन) यदि (कुछ == प्रतीक) {if (symbol == '-') {} else if (symbol! = '-') {} अन्य कदम; }  

बहु-लाइन मैक्रो के लिए आपको \ < / कोड> चरित्र को मैक्रो प्रोसेसर को अगली पंक्ति पर मैक्रो को पार्स करना जारी रखने के लिए आखिरकार आखिरी पंक्ति के अंत में वर्णित करें, जैसे:

  # परिभाषित MATCH_SYMBOL (प्रतीक, टोकन) \ यदि (कुछ == प्रतीक) {\ if (प्रतीक == '-') {\} और अगर (प्रतीक! = '-') {\} \ अन्य कदम; \}  

अभी, यह इसे 1-लाइन मैक्रो के रूप में व्याख्या करने का प्रयास कर रहा है और फिर आपकी फ़ाइल के शीर्ष पर कुछ वास्तविक कोड है, जो कि आप क्या चाहते हैं:

  # MATCH_SYMBOL (प्रतीक, टोकन) // परिभाषित करें ... गलत तरीके से सोच रहा है कि यह अलग है ... अगर (कुछ == प्रतीक) {// प्रतीक कभी परिभाषित नहीं किया गया था, क्योंकि मैक्रो कभी नहीं था यहां इस्तेमाल किया! अगर (प्रतीक == '-') {} और अगर (प्रतीक! = '-') {} अन्य चरणों; }  

No comments:

Post a Comment