在线等~急~关于 CListm_ClientSockAddr; 如何查找某个sockaddr元素的问题

ronk 2006-11-02 04:01:35
我定义了一个链表

CList<sockaddr_in,sockaddr_in&>m_ClientSockAddr;

用于存储接收到的消息的sock来源信息..

请问:

在这个链表中,我应如何查找某个sockaddr元素呢?

我是这么写的:

POSITION p = m_ClientSockAddr.Find(sock->RecvClient);

但是编译的时候返回:

error C2678: binary '==' : no operator found which takes a left-hand operand of type 'const sockaddr_in' (or there is no acceptable conversion)


分不多了,还请见谅....不吝赐教.谢谢!
...全文
159 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ronk 2006-11-02
  • 打赏
  • 举报
回复
谢谢 flyelf 的指点~~ 重载后,可以实现对IP地址的判断了.

如下:

#pragma once
#include "winsock2.h"

class CSockAddr :
public sockaddr_in
{
public:
CSockAddr(void);
public:
~CSockAddr(void);

bool operator==(const CSockAddr& right) const
{
return sin_addr.S_un.S_addr == right.sin_addr.S_un.S_addr;
}

};
ronk 2006-11-02
  • 打赏
  • 举报
回复
sock是我的自定义类.....

其中

public:
::sockaddr_in RecvClient;
flyelf 2006-11-02
  • 打赏
  • 举报
回复
继承sockaddr_in,重载==
neosu 2006-11-02
  • 打赏
  • 举报
回复
类型不一致. 你的"sock"是什么结构的?

必要时自己做for循环查询.
ronk 2006-11-02
  • 打赏
  • 举报
回复
看了其他人的提问,如果是自定义类的话,需要重载 == .
但是我用的是sockaddr_in的链表,要如何解决呢?

请高人赐教.谢谢!

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧