• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > STL删除的问题,紧急求教

STL删除的问题,紧急求教

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了关于代理商问题求教,stl jerry的问题,stl map 删除,stl vector 删除,stl list 删除等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: STL删除的问题,紧急求教
描述:

list里面是自定义的结构:
list <SM_TASK> g_taskList;
结构如下:
typedef struct __st_SM_TASK
{
int  Number; //话机号码关键字
char Version[20]; //版本号
}SM_TASK;
push_back都是正常的,可以加入,如:
SM_TASK m_smTask;
m_smTask.Number=100;
strncpy(m_smTask.Version, "sdfasdf", 20);
g_taskList.push_back(m_smTask);
-------------------------------------------------
现在想删除里面的对象,已经定位到该对象,remove出错:
SM_TASK sm_task;
g_taskList.remove(m_tmpTask);
编译错误:
error C2678: binary '==' : no operator defined which takes a left-hand operand of type 'struct __st_SM_TASK' (or there is no acceptable conversion)
....


解决方案1:

iter就向一个链表中一个节点的指针。如果你删除了这个节点那么它的指针也就失效了,就找不到下一个节点正确写法。
list<SM_TASK>::iterator iter = g_taskList.begin();
while(iter != g_taskList.end())
{
SM_TASK& one = (SM_TASK&)(*iter);
AttendID = one.Number;
++iter; //在使用跌代器的时候为了提高效率一般都用前置++
g_taskList.remove(one);//我加了这一句,操作符已经重载了
}

解决方案2:

bool operator == (SM_TASK& a, SM_TASK& b)
{
   if(a.Number != b.Number)
      return false;
   return _tcscmp(a.Version,b.Version) == 0;
}

解决方案3:

需要重载 ==
bool operator == (const __st_SM_TASK& task)const
{ return task.Number == this->Number && !strcmp(task.Version,this->Version);}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ATL返回类型问题求教
  • 求教一个字符串的截取问题
  • 高分求教ocx的问题在线等
  • 100分求教关于activex巨难问题????
  • ocx问题求教高手
  • 重绘CTabCtrl问题求教
  • 求教ROSE建模问题?
  • 求教:vc添加web引用的问题
  • 再次求教ActiveX控件添加问题
  • ATL的消息响应问题,求教!!!!!!!!!

相关文章

  • 2017-06-05 首次开发DLL标准空件,请指点一下请教VC的朋友
  • 2017-06-04 如何为CAD软件添加插件
  • 2017-06-04 新手请问如何学好COM
  • 2017-06-04 IE切换时ACTIVEX不能快速释放
  • 2017-06-05 文件共享读写问题,很棘手
  • 2017-06-05 afxwin1inlLine:24错误是什么啊?
  • 2017-06-04 控件在设计模式下ide中不调用OnCreate函数
  • 2017-06-04 请教线程高手们这个要怎么实现?
  • 2017-06-05 什么叫驱动级程序如何来编写他呢?
  • 2017-06-04 《深入解析atl》电子版已上传,快去下载(一周后会更换)!!http://wangweixing2000wegamecom/深入解析ATL_潘爱民pdfjpg

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 是否可以对位于exe中的组件跟进调试?
    • 在VC++60里如何获得本机CPU的GUID?
    • 想给ShellToolBar添加XPTheme的支持
    • 请教一个网络通信与多线程编程的问题
    • 多线程访问数据库,内存增长
    • 关于这个CreateMutex的问题,有些晕了
    • 一个三层结构的COM例子,有问题请问007loveyou@263net
    • 如何隔一段时间运行同一段代码
    • 大家看看是否有这样一种同步对象。
    • 在C++中调用C#写的COM

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有