2012-11-21 19 views
5

मैं आपको एक संकेत के लिए पूछना चाहता हूं, क्योंकि मैं एक नौसिखिया हूं और इंटरनेट में कोई उपयुक्त उत्तर नहीं मिला। के रूप में मैं देख रहा हूँ सब कुछ ठीक है)सी ++ मानचित्र/सेट इटेटरेटर dereferencable

pointA = active->pointNext(timeNext); 
समारोह pointNext (साथ

: - नक्शा/सेट इटरेटर लाइन है कि इस तरह दिखता है पर dereferencable नहीं डिबग दावे विफल रहा: मैं इस त्रुटि हो रही है , और क्या चिंताओं सक्रिय, मेरे पास है:

active = setS.data.end(); 

कुछ अधिक जानकारी:

सक्रिय, मल्टीसेट < ClassA है classB :: classC> :: const_iterator

सेट है: setS.Q, setS.W, setS.T और setS.data, जिससे setS.data वर्ग ब्रेसिज़ में 0 के अंदर है। जब मेरे पास डीसीपी फ़ाइल में मल्टीसेट इटरेटर घोषणा है, डीबग के दौरान मैं सक्रिय अंदर क्या है, यह देखने के लिए प्रवेश नहीं कर सकता, जब यह .h फ़ाइल में है, तो मैं कर सकता हूं।

.cpp में होने पर मैं सक्रिय दर्ज नहीं कर सकता, इसलिए कल्पना कर सकता है कि यह पॉइंटर (इटरेटर) की तरह नहीं है, क्योंकि यह गलत है। क्या होगा यदि यह खाली है, यानी setS.data खाली है? या अगर अंदर कुछ कचरा है?

मुझे पता है कि चीज पहले लिनक्स के तहत चल रही थी, क्या ऐसी कुछ विशेषता है जिसे मुझे विंडोज़ पर चलाने के लिए बदलना है? उदाहरण के लिए कई टेम्पलेट पैरामीटर को केवल एक में बदलने के लिए? (ठीक से मानो setS.dataसक्रिय करने के लिए, क्योंकि मुझे यकीन है कि नहीं कर रहा हूँ - मैं इसे ठीक से करते हैं

इस बल्कि अराजक पद के लिए क्षमा करें, मैं अपने अनुमान को जोड़ने के लिए यदि वे कोई उन्हें उपेक्षा के लिए चाहते थे? गलत हैं। अगर यहां कुछ अस्पष्ट है या कुछ जानकारी की कमी है, तो मैं खुशी से इसे जोड़ दूंगा। क्या आप कृपया मुझे बता सकते हैं कि मुझे कौन से कारण बताते हैं कि मुझे कौन से कारणों से डीरफ्रेंसबिलिटी त्रुटि मिल सकती है और मुझे इसकी कहां तलाश करनी चाहिए? क्योंकि मैं अटक गया हूं और डॉन ' पता नहीं आगे बढ़ने के लिए कैसे।

किसी भी मदद बहुत सराहना की है, धन्यवाद!

उत्तर