У меня есть код, который отлично компилируется в VS 10.0, но после вставки нескольких элементов на карту Заказов ниже я получаю "недопустимый оператор <" ошибка в библиотеке отладки Microsoft. Мой меньший оператор прост, просто сравнивает 8-байтовую строку char на char. У кого-нибудь есть идея, почему я получаю эту ошибку?
Спасибо, 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];