收录日期:2020/10/28 10:40:14 时间:2016/06/02 19:54:02 标签:基础类
我自定义的结构体struct Node,然后将加入到CList中,当使用CList的Find()函数时编译出错,以下是部分源码请高手指点一下:
struct Node
{
int m_pin;
CString m_str;
};
CList<Node,Node> m_list;
struct Node m_node;
m_node.m_pin =10;
m_node.m_str = "";
m_list.AddTail(m_node);
POSITION pos = m_list.Find(m_node);//此处出错

错误提示::\program files\microsoft visual studio\vc98\mfc\include\afxtempl.h(122) : error C2678: binary '==' : no operator defined which takes a left-hand operand of type 'const struct Node' (or there is no acceptable conversion)
        d:\program files\microsoft visual studio\vc98\mfc\include\afxtempl.h(1036) : see reference to function template instantiation 'int __stdcall CompareElements(const struct Node *,const struct Node *)' being compiled


为什么不直接用C++库里面的deque或list.这样会好点啊.
我用的工具VC里面好象没有List类.
CList<Node,Node&> m_list;
试试
需要重载operator==(Node&,Node&)
结构体没有重载operator==;
加上bool operator==(Node& n1,Node& n2)
{return n1.m_pin==n2.m_pin;}
就可以了
结构体加上          
bool operator==(Node &rhs)
{return m_str==rhs.m_str;}
支持oyljerry的看法。

gridview的绑定 无组件上传 通用网址拍卖“中国少林功夫”“中国保镖” 请问怎样理解这句话呢?? 请教:SQL语句 请问:C语言根据什么条件判断数组的实际长度 MyEclipse 新建JSP .net新手可以加QQ:1192928522 我用内嵌TCP/IP协议的GPRS模块进行数据传输,其它命令都是正确的回复,但是最后一个上网的命令不正确 如何查找网页游戏里某个值的内存地址呢? 2个窗体不能互相调用? socket服务器端异步通信.如何关闭客户端关闭的连接 [原创&交流]基于VS 2005环境的MS office自动化开发之熟悉环境篇 金融危机下IT认证培训行业 为什么内存分配回失败了? 有没有好看一点的用户注册页面的模板啊 简单的问题,调用存储过程出错,请指教 bitmap setPixels 奇怪错误~~~控件包含代码块(即 <% ... %>),因此无法修改控件集合。~~在线等~~ ECC 与 RECC 服务器内存 如何识别? Log4net 多层不好用 URLRewriter 地址映谢地址含用%号的问题! 求word和EXCEL的上机试题~哪位好心人能告诉我个下载地址阿~~急 找ALP514芯片PDF bindingNavigator控件上面的TooStripButton怎么响应回车键 触发器触发的条件是表还是字段? 注册表中是不是有些键是不能用RegDeleteKey函数删掉的? php session 会员退出问题 c# datagridview问题求教 如何让数据不要以科学计数法输出