मेरे पास कुछ कोड है जो वीएस 10.0 में ठीक संकलित करता है लेकिन नीचे ऑर्डर मानचित्र में कुछ आइटम डालने के बाद मुझे माइक्रोसॉफ्ट डीबग लाइब्रेरी में एक "अमान्य ऑपरेटर <" त्रुटि प्राप्त होती है। मेरा कम ऑपरेटर सरल है, बस 8 बाइट स्ट्रिंग चार की तुलना char से करता है। किसी को भी कोई विचार है कि मुझे यह त्रुटि क्यों मिलेगी?एसटीएल कम ऑपरेटर और "अमान्य ऑपरेटर <" त्रुटि
धन्यवाद, माइक
typedef struct MY_orderID_t
{
char orderID[8];
} MY_orderID_t;
struct std::less<MY_orderID_t>
{
bool operator()(const MY_orderID_t& k1, const MY_orderID_t& k2) const
{
for(int i=0; i < 8; i++)
{
if(k1.orderID[i] < k2.orderID[i])
return(true);
}
return(false);
}
};
std::map< MY_orderID_t, MY_order_t > Orders[5];
और [इस अन्य पोस्ट] (http://stackoverflow.com/questions/2282349/specialization-of-templateclass-tp-struct-stdless-in- अलग-अलग नामस्थान ''std :: less' विशेषज्ञ करने का सही तरीका दिखाता है। –