2013-02-22 31 views
12

एक previous question के आधार पर के लिए कुंजी के रूप में जोड़ी का उपयोग करना, मैं map<pair<int, int>, int> यानी एक कुंजी के रूप पूर्णांकों की एक जोड़ी का उपयोग कर एक नक्शा बनाने के लिए कोशिश कर रहा हूँ और मैं कैसे सम्मिलित करने के लिए के बारे में जानकारी मिल गया है: नक्शा

#include <iostream> 
#include <map> 

using namespace std; 

int main() 
{ 
map<pair<int, int>, int> mymap; 

mymap.insert(make_pair(make_pair(1,2), 3)); //edited 
} 

लेकिन मैं तत्व का उपयोग नहीं कर सकता! मैंने cout << mymap[(1,2)] << endl; को आजमाया है लेकिन यह एक त्रुटि दिखाता है, और मुझे कुंजी का उपयोग कर तत्व तक पहुंचने के बारे में जानकारी नहीं मिल रही है। क्या मुझसे कुछ गलत हो रही है?

+5

क्या आपका मतलब है 'अदालत << mymap [make_pair (1,2)] << endl;'? – andre

+5

'(1,2)' कम से कम इस संदर्भ में गैर-संवेदी है। आपके पास अपनी कुंजी के रूप में उपयोग करने के लिए 'std :: pair' होना चाहिए, और इसका मतलब है कि @andre ने अभी क्या टिप्पणी की है। –

+0

हां! मैं एक बोल्ट हूँ। धन्यवाद! – sccs

उत्तर

10

आपको एक जोड़ी की आवश्यकता है cout << mymap[make_pair(1,2)] << endl; आपके पास वर्तमान में cout << mymap[(1,2)] << endl; सही वाक्यविन्यास नहीं है।

6

mymap[make_pair(1,2)]

या, संकलक समर्थन के साथ:

mymap[{1,2}]