Ho un codice che compila bene in VS 10.0 ma dopo aver inserito alcuni elementi nella mappa Ordini di seguito ricevo un errore" operatore non valido < "nella libreria di debug di Microsoft. Il mio operatore in meno è semplice, confronta solo la stringa di 8 byte char per char. Qualcuno ha idea del perché riceverei questo errore?Errore STL in meno e errore "operatore non valido <
Grazie, Mike
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];
E [questo altro post] (http://stackoverflow.com/questions/2282349/specialization-of-templateclass-tp-struct-stdless-in- different-namespace) mostra il modo giusto per specializzare 'std :: less'. –