visual c++ - Intellisense error when using `__FUNCTIONW__` -
मैं __ लाइन __
, __ FILEW __
और __ फ़ंक्शन W__ का उपयोग कर रहा / रही हूं।
एक कस्टम अपवाद वर्ग के लेखन और कार्यान्वयन में सहायता करने के लिए मैक्रोज़। जैसा कि अच्छी तरह से ज्ञात है, वे स्वचालित रूप से लाइन नंबर, स्रोत फ़ाइल नाम और कोड में स्थान के समारोह का नाम प्रदान करते हैं, जहां से उन्हें कहा जाता है। इसके अलावा, जैसा कि मैं विशेष रूप से यूनिकोड में काम कर रहा हूं, मुझे ... w स्ट्रिंग परिणाम में विस्तार करने वाले विस्तृत वर्ण संस्करणों का उपयोग करना चाहिए।
उदाहरण के लिए:
CEString (CEString :: ERROR_INDEX_OUT_OF_BOUNDS, __LINE__, L "प्रारंभ सूचकांक प्रारंभ सूचकांक की तुलना में छोटा है", एल "इंडेक्स बाउंड्स से बाहर", __FILEW__, __FUNCTIONW__, L "CString");
जहां CEString
एक कस्टम अपवाद वर्ग है जिसका कन्स्ट्रक्टर दो पूर्णांक तर्कों को लेता है और फिर उस त्रुटि का पता लगाने और उसका वर्णन करने के लिए पांच सरल चौड़ी स्ट्रिंग्स लेता है। / P>
मेरे पास हैडर फाइल iostream
, नया
और crtdefs.h
ठीक से शामिल है। दस्तावेज़ से उत्तरार्द्ध को कड़ाई से जरूरी नहीं होना चाहिए, लेकिन जैसा कि मैक्रोज़ वास्तव में परिभाषित किया गया है, मैंने वैसे भी इसे शामिल किया है। हालांकि, VS2013 में Intellisense त्रुटि-परीक्षक एक त्रुटि के रूप में __FUNCTIONW __
मैक्रो का मेरा उपयोग हाइलाइट करता है I यह निम्न अधिसूचना देता है:
त्रुटि: पहचानकर्ता L__FUNCTION__ अपरिभाषित है।
... जो अजीब है!
जहां यह अजनबी भी हो जाता है; खुद कार्यक्रम - इस त्रुटि की चेतावनी के बावजूद - खुशी से संकलित और क्या उम्मीद के मुकाबले कहीं और भी चलता है माना जाता है कि विवादास्पद मैक्रो बिना किसी शिकायत के अपने विस्तृत-चरित्र फ़ंक्शन-नाम विस्तार बनाता है।
तो यह स्पष्ट रूप से Intellisense के साथ एक समस्या है, कोड या हेडर नहीं है क्या आप में से कोई भी एक विचार है जो गलत हो सकता है?
यह शायद सबसे पहले का पहला प्रश्न है:
हालांकि, बेन वॉइट के विपरीत मुझे मिल रहा है कार्यक्रम वास्तव में लिंक और चलाता है! समस्या स्पष्ट रूप से Intellisense के साथ है।
यह बग पहले से ही सार्वजनिक किया गया है
Intellisense आमतौर पर VS2010 (आत्मनिर्धारित या निर्मित में) में भी मैक्रोज़ के साथ समस्याएं हैं।
आपको अभी भी त्रुटि की अनदेखी करनी चाहिए।
इसके अलावा आप मुझे क्या समझने में कुछ अंतर्दृष्टि दे सकते हैं।
Comments
Post a Comment