मैंने संचालक का उपयोग करने की कोशिश की [] कास्ट सी ++ मैप में तत्व का उपयोग करें, लेकिन यह विधि विफल रही। मैंने भी यही काम करने के लिए "at ()" का उपयोग करने की कोशिश की। इस बार काम किया। हालाँकि, मुझे किसी कॉन्स्टेंट C ++ मैप में एलिमेंट एक्सेस करने के लिए "at ()" का उपयोग करने के बारे में कोई संदर्भ नहीं मिला। C ++ के नक्शे में एक नया जोड़ा गया कार्य "at ()" है? मुझे इस बारे में अधिक जानकारी कहां मिल सकती है? आपका बहुत बहुत धन्यवाद!
एक उदाहरण निम्नलिखित हो सकता है:
#include <iostream>
#include <map>
using namespace std;
int main()
{
map<int, char> A;
A[1] = 'b';
A[3] = 'c';
const map<int, char> B = A;
cout << B.at(3) << endl; // it works
cout << B[3] << endl; // it does not work
}
"बी [3]" का उपयोग करने के लिए, इसने संकलन के दौरान निम्नलिखित त्रुटियों को लौटाया:
t01.cpp: 14: त्रुटि: 'कास्ट एसटीडी :: नक्शा, एसटीडी :: एलोकेटर>>' के रूप में यह '_Tp & std :: मैप <_Key, _Tp, _Compare, _Alloc :: ऑपरेटर [] का तर्क const _Key &) [_Key = int, _Tp = char, _Compare = std :: less, _Alloc = std :: एलोकेटर के साथ] '' पात्र योग्यताधारी
उपयोग किया गया कंपाइलर g ++ 4.2.1 है