मैं सी ++ में std::map<int, int>
बना रहा हूं कि मैं डिफ़ॉल्ट सॉर्ट ऑर्डर के बजाय उच्चतम से निम्नतम क्रमबद्ध क्रमबद्ध करना चाहता हूं। मेरे शोध मुझे std::greater करने के लिए नेतृत्व जो आशाजनक देखा है, लेकिन मैं एक संकलन त्रुटि मिल रही है जब इसका इस्तेमाल करने की कोशिश कर रहा:सीडी + मैप कुंजी को std :: से अधिक कैसे क्रमबद्ध करें?
invalid type argument of unary ‘*’ (have ‘int’)
मेरे मानचित्र घोषणा है:
std::map<int, int, std::greater<int> > numMap;
और त्रुटि इस से फेंका जा रहा है समारोह: इस तरह के this के रूप में इसी तरह के सवाल करने के लिए
void Row::addNumber(int num, int pos) {
numMap.insert(num, pos);
}
जवाब एसटीडी घोषणा में कोष्ठक, यानी शामिल :: अधिक से अधिक () - लेकिन जब मैं उन लोगों को शामिल करता हूं तो मुझे फ़ंक्शन लौटने वाले फ़ंक्शन के संबंध में कई त्रुटियां मिलती हैं।
जब आप मानचित्र को पीछे से पढ़ते हैं तो आपकी समस्या हल नहीं होती है? बस केह रहा हू। – fonZ
क्या आप कह रहे हैं कि जब आप 'std :: map' के डिफ़ॉल्ट तुलनित्र का उपयोग करते हैं तो आपको वही त्रुटि नहीं मिलती है? क्योंकि इस मामले में इससे कोई फर्क नहीं पड़ता है। –