की तरह मैं एक कोड हैनेस्टेड-नाम-विनिर्देशक
.hpp:20: error: expected nested-name-specifier before ‘_myPair’
.hpp:20: error: two or more data types in declaration of ‘_myPair’
मैं क्या कर रहा हूँ गलत कर रहे हो
की तरह मैं एक कोड हैनेस्टेड-नाम-विनिर्देशक
.hpp:20: error: expected nested-name-specifier before ‘_myPair’
.hpp:20: error: two or more data types in declaration of ‘_myPair’
मैं क्या कर रहा हूँ गलत कर रहे हो
typename
की आवश्यकता नहीं है, और इसलिए इसकी अनुमति नहीं है।
एमएसवीसी वास्तव में उपयोग किए जाने तक टेम्पलेट्स को सही तरीके से पार्स नहीं करता है, इसलिए कुछ त्रुटियां बाद में नहीं मिलती हैं।
"अपेक्षित नेस्टेड-नाम-विनिर्देशक" का अर्थ है कि typename
कीवर्ड के बाद आपको टेम्पलेट पैरामीटर के कुछ नेस्टेड नाम का उपयोग करने की उम्मीद है, उदाहरण के लिए typedef typename Key::iterator ...
। आपके मामले में आपको typename
का उपयोग करने की आवश्यकता नहीं है।
typedef pair<const unsigned int, Key> /*typename*/ _myPair;
^^^^^^^^^^^^ not needed
gcc-4.5 output here देखें। (यह myownmap
class
या फ़ंक्शन के लिए सच है)
क्या आपने वास्तव में जीसीसी के साथ इस कोड का परीक्षण किया था? आप myownmap से पहले एक वर्ग/संरचना खो रहे हैं और "प्रविष्टियोंपैयर" आपके स्निपेट में कहीं भी नहीं होता है। – Philipp
क्या आप हमें 'प्रविष्टियांपेयर' की परिभाषा दिखा सकते हैं? –
'myownmap' क्या है? क्या यह एक समारोह या वर्ग है? – iammilind