मैं वर्तमान में एक पहले से ही विकसित MFC C++ लिखा परियोजना पर काम कर रहा हूँ और परिभाषा होने एक पहले से ही मौजूद मैक्रो के साथ एक समस्या का सामना करना पड़ रहा हूँ:पुनः परिभाषित करना या बदलते मैक्रो मान
#define HEIGHT_TESTS 13
मैं से मान बदलने के लिए कोशिश कर रहा हूँ कोड के भीतर लेकिन मुझे लगता है कि इसकी पूर्व-परिभाषित परिभाषा के बाद से, मैं ऐसा करने में असमर्थ हूं। मूल मैक्रो समग्र रूप से बदलने के बिना मैं इस समस्या को हल कर सकता हूं (क्योंकि यह प्रोग्राम की मूल कार्यक्षमता को प्रभावित कर सकता है)। मैं बस इसे एक विशेष स्थिति में बदलने का इरादा रख रहा हूं, बाकी सब कुछ बाकी है।
बस सभी को यह बताने के लिए, मैंने स्पष्ट रूप से मूल्य (17) के साथ एक अलग मैक्रो परिभाषा का उपयोग करने का प्रयास किया है, जिसका उपयोग करने का इरादा है, लेकिन इस तरह कोई भाग्य नहीं है।
किसी भी मदद की बहुत सराहना की जाएगी।
मैं #undefining और इसे फिर से परिभाषित करने के बजाय, आपके उद्देश्य के लिए एक और मैक्रो रखने की अनुशंसा करता हूं। – Ajay
ध्यान दें कि यदि आप पुनर्स्थापित करने की आवश्यकता है, तो आप मौजूदा मान को सहेजने और इसे पुनर्स्थापित करने में सक्षम नहीं होंगे। आपके लिए एकमात्र तरीका 13 के साथ मैक्रो को फिर से परिभाषित करना होगा जो स्पष्ट रूप से एक कठिन कोडित मूल्य है। उत्तर के लिए, आपके पास पहले से 2 नीचे हैं जो सही हैं। –
मैंने एक अलग मैक्रो का उपयोग करने का प्रयास किया, लेकिन यह काम नहीं कर सका। कार्यक्रम दुर्घटनाग्रस्त हो गया। यह केवल तभी होता है जब मैं इस विशेष # परिभाषित मूल्य को बदलता हूं, यह मुझे एक उचित परिणाम देता है (परिणाम न कि मैं इस विशेष स्थिति के साथ आने का इरादा रखता हूं)। – Neophile