C++Error2208:...尝试引用已删除的函数

在用自己编写的类实例化c++stl容器vector时,调用了vector.erase()方法,结果编译器报了以下错误

错误 C2280 “(类名)::operator =(const (类名) &)”: 尝试引用已删除的函数 F:\vs2015\VC\include\xutility 2581

从错误的内容看,似乎是自己的类的赋值构造函数被尝试调用却发现其已被删除。

在翻阅了资料后发现,erase方法会在将对象删除后,将所有该对象之后的对象向前移动。此时会调用该对象的赋值构造函数。

一般而言,对象的赋值构造函数如果开发者没有提供,则编译器会生成默认的赋值构造函数。然而,默认的赋值构造函数在以下几种情况会被删除。

  • 该类含有非静态的const成员变量
  • 该类含有非静态的reference成员变量
  • 该类含有不能被拷贝的成员变量
  • 该类含有不能被拷贝的基类
  • 该类含有用户定义的移动构造函数或者移动赋值函数

自己编写的类中有const成员变量, 将其改成static 或者去掉const 或者添加赋值构造函数,就可以消除这个error.

C++Error2208:...尝试引用已删除的函数相关推荐

  1. C++Error2208:…尝试引用已删除的函数

    C++Error2208:-尝试引用已删除的函数 在使用自己编写的类实例化c++linklist,结果编译器报了以下错误 错误 C2280 "LList::LList(const LList ...

  2. C++ Error C2280 尝试引用已删除的函数

    学习C++的右值引用的时候,发现一个错误 1>e:\work\jutiltest\jutiltest\main.cpp(88): error C2280: "MyString::MyS ...

  3. 如何解决C++编译错误C2280尝试引用已删除的函数【每天一个小技巧】

    本文结构 0.引言 1.解决方法 0.引言 在使用开源优化库QP时,采用了OSQP-EIGEN的包装器,在我的类中想引用他的求解器 / test.hpp class name{*******OsqpE ...

  4. C2280 “std::_Uhash_compare<_Kty,_Hasher,_Keyeq>......尝试引用已删除的函数

    错误 C2280 "std::_Uhash_compare<_Kty,_Hasher,_Keyeq>::_Uhash_compare(const std::_Uhash_comp ...

  5. C++ Error C2280 尝试引用已删除的函数(二)因std::mutex引起的拷贝

    我最近做的项目用到了C++11的多线程库,其中一个类A中有一个类B的成员,而类B的成员中使用到了std::mutex互斥锁,这个互斥锁在B中使用没有任何问题,但是当类B成为一个类A的成员之后,就出现了 ...

  6. 尝试引用已删除的函数_学Excel函数公式,你必须要掌握这些知识

    函数与公式是Excel的特色之一,充分展示出其出色的计算能力,灵活使用函数与公式可以极大地提高数据处理分析的能力和效率. 今天我们分享的是函数和公式的定义,虽然都是最基本的知识,但理解并掌握Excel ...

  7. 尝试引用已删除的函数_如何在Excel中使用ROW函数

    一.ROW函数介绍 1. ROW函数是用来得到指定单元格的行号.比如"=ROW(B1)",得到的就是B1的行号为"1". 2. 如果括号里面为空,什么都不引用, ...

  8. error:尝试引用已删除的函数或已显式删除函数

    很基础的操作 在重载运算符的时候,尤其是<<和>>运算符重载,我们也许会遇到这个问题,一般情况下就是函数的声明没有写好,如这样的声明: friend std::ostream ...

  9. C++“(已隐式声明)--它是已删除的函数 ” “尝试引用已删除的函数”知识点MARK

    今天写一个简单的文件处理工具类时遇到了一个新bug,是一个之前忽略掉的知识点,特此mark一下. 错误如下: c++类在初始化的时候有两种方式: 1. M_CLASS m_class(...); 2. ...

最新文章

  1. 入门经典综述!深度人脸识别算法串讲
  2. cp -r dir1/. dir2 表示将dir1下的文件复制到dir2,不包括dir1目录
  3. Visual Studio 2019更新到16.2.1
  4. 量子计算机个人化时间,科学家发现量子算法可以停止时间
  5. Python OpenCV实例:图像重映射
  6. 对《Python核心编程》中“第一个Python程序”的改进
  7. css之align 与 valign 的用法比较
  8. Matlab非线性拟合工具箱cftool
  9. 10.Java 面试题整理(CORBA 方面)
  10. rbenv mysql_mysql-无法在macOS Si上安装mysql2 gem
  11. 阿里MySQL读写一致_缓存与数据库读写一致的解决方案
  12. Linux电驴客户端,ubuntu装电驴
  13. LINUX下载编译x265
  14. Hadoop——快速入门
  15. 苹果 / Apple iCloud 教育版 200GB 云盘账号自助注册教程
  16. 软件开发的里程碑简单概念
  17. PHP中获取字符串的长度
  18. [联想 ThinkPad E450c 怎么进入BIOS]
  19. 2020-12-20|西瓜更新Cookies ttwid获取方法
  20. Quartus-建立新工程

热门文章

  1. contour()函数的理解
  2. 一致性 hash 算法 — CARP 2020/5/11 19:38
  3. 炫酷canvas网页背景动画效果
  4. HD钱包(身份钱包)简介
  5. 为什么 DNS 使用 UDP 协议
  6. iOS 开发者必知的 75 个工具(译文)
  7. linux redhate7 yum源,CentOS6.x网易163yum源配置
  8. 所谓资本寒冬,不过是一厢情愿的破灭
  9. 去日本东京旅行(1)-- 机场篇
  10. python爬取今日头条图片