2009-02-10 10 views
13

यह काफी समय से रहा है क्योंकि मुझे यह त्रुटि मानक <cstring> हेडर फ़ाइल में कोई स्पष्ट कारण नहीं है। एक Google खोज ने कई उत्तरों लाए लेकिन उनमें से कोई भी काम नहीं किया।त्रुटि C2039: 'memchr': 'वैश्विक नामस्थान' का सदस्य नहीं है

उत्तर

24

ठीक है मैंने इसे स्वयं तय किया है। यह एक बेवकूफ गलती थी! मेरे पास लाइब्रेरी प्रोजेक्ट में "स्ट्रिंग.h" नामक एक फ़ाइल है जिसे <cstring> शीर्षलेख द्वारा उठाया जा रहा है। शायद क्योंकि मैंने < स्ट्रिंग.h > को मेरे टेस्ट प्रोजेक्ट में अतिरिक्त निर्देशिका के रूप में पथ जोड़ा है (जहां मुझे यह त्रुटि मिल रही है।) उम्मीद है कि इससे किसी की मदद मिलती है।

+1

मैन, मैंने बस इसे समझने में एक घंटे बिताया। धन्यवाद, यह वही समस्या थी। – vmpstr

+0

@vmpstr आपका स्वागत है। –

+1

thx आदमी, मुझे बहुत समय और नसों बचाया! प्रश्न और उत्तर के लिए upvote। – Nicoretti

1

आपका कंपाइलर सी ++ std नेमस्पेस में मेमंच फ़ंक्शन को (सही ढंग से) रख सकता है। Std :: के साथ memchr कॉल उपसर्ग करने का प्रयास करें और यदि यह विफल हो जाता है, तो समस्या का कारण बनने वाले कोड को पोस्ट करें।

+0

आपकी मदद के लिए धन्यवाद लेकिन यह कुछ और था। –

-5

प्रीप्रोसेसर परिभाषाएं बहुत आसान हैं जब आप इस तरह की गलती से बचना चाहते हैं।

//whatev.h 
#ifndef WHATEV 
#define WHATEV 

// your code here 

#endif 
+1

'#pragma एक बार' का उपयोग करना पसंद करते हैं क्योंकि मैं विशेष रूप से एमएस कंपाइलर्स के साथ काम करता हूं। लेकिन किसी भी मामले में यह कारण नहीं है कि मुझे त्रुटि क्यों मिली। –

संबंधित मुद्दे