我有一些代码可以在VS 10.0中编译好但是在下面的Orders地图中插入一些项目后,我在Microsoft调试库中收到"invalid operator <"错误.我的较少运算符很简单,只需将char字符串比较为8字节的字符串.任何人都知道为什么我会收到此错误?
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];
Run Code Online (Sandbox Code Playgroud)