请教一个有关map操作的问题
我想利用map来统计某CIPNode类型的key出现的次数
CIPNode的声明如下:
class CIPNode
{
private:
unsigned long m_dwSourIPAddr; // 源IP地址
unsigned long m_dwDestIPAddr; // 目的IP地址
unsigned char m_chProtocol; // IP包的协议类型
unsigned long m_dwCouter; // 数据包的数量
public:
CIPNode * pNext; // 指向下一类IP结点
CIPNode();
virtual ~CIPNode();
// 构造函数
CIPNode(unsigned long, unsigned long, unsigned char);
// 增加数据包的数量
void addCount();
// 取得数据包数量
unsigned long getCount();
// 取得源IP地址
unsigned long getSourIPAddr();
// 取得目的IP地址
unsigned long getDestIPAddr();
// 取得协议类型
unsigned char getProtocol();
// 取得协议名称(TCP,UDP,ICMP...)
char * getProtocol_String();
//bool operator < (const CIPNode& ) const;
};
nodetemp为一CIPNode类型的对象
现要统计nodetemp出现的次数
具体操作如下
map<CIPNode,int> Nmap;
map<CIPNode,int>::iterator it;
it=Nmap.find(nodetemp);
if(it!=Nmap.end())
Nmap[nodetemp]++;
else
Nmap[nodetemp]=1;
编译的时候却有如下错误,请指教:
error C2678: binary '<' : no operator defined which takes a left-hand operand of type 'const class CIPNode' (or there is no acceptable conversion)。
备注:我好像并没有使用到有关<的操作