问题标签 [deleted-functions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 删除的复制构造函数导致删除的默认构造函数
此代码无法使用 gcc 4.7.0 编译:
错误是:
换句话说,编译器不会为基类生成默认构造函数,而是尝试调用已删除的复制构造函数作为唯一可用的重载。
这是正常的行为吗?
c++ - 为什么声明移动赋值时复制赋值没有被删除?
根据 C++ 标准 12.8.7:
如果类定义声明了移动构造函数或移动赋值运算符,则隐式声明的复制构造函数定义为已删除;
和 12.8.18
如果类定义声明了移动构造函数或移动赋值运算符,则隐式声明的复制赋值运算符被定义为删除;
该语句a = b;
应触发编译器错误。但是,我的编译器 (VC++ 2013 RC) 接受它并改为调用隐式定义的复制分配。
这是编译器的错误吗?
更新:
我已将此问题作为错误提交给microsoft。
c++ - 你可以用 lambda 比较器交换 std::queue 吗?
我正在尝试使用https://stackoverflow.com/a/709161/837451中的示例通过交换清除 std::queue。但是,由于“已删除函数”错误,它似乎不适用于 lambda 比较器。
最小在职的失败的例子:
编译
我收到以下错误:
g++ -v
我有点好奇这里到底发生了什么,但更重要的是我真的很想知道如何完成这项工作。
c++ - 错误 C2280:试图引用已删除的函数
我是游戏开发的新手,对 c++ 也很陌生,但我已经开始开发一个小打砖块游戏。我以前运行过它,但是在重构(引入 ArkanoidGame 类)之后它没有编译,我不知道为什么。
我得到的错误是:
我根本不明白这意味着什么,也不知道该怎么做才能解决它。
我已经包括了有问题的课程:
主要.cpp:
打砖块.h:
ArkanoidGame.cpp:
c++ - 错误:使用已删除的函数 boost::filesystem3::directory_iterator
当我尝试编译 C++ 和 qt 项目时,我遇到了这个奇怪的错误:
代码中的任何地方都没有使用 delete(),这个错误是什么意思?发生此类错误时我应该寻找什么?
c++ - 对 std::set 使用基于范围的 for> 删除功能
我正在尝试将基于范围的迭代器与一组unique_ptr
实例一起使用,但出现以下编译错误:
基本代码如下:
知道为什么这会是一个问题或如何解决它吗?
c++ - 查找引用了已删除函数的位置
IDE - 桌面版 Visual Studio Express 2013
C++11
问题 - 我有一个显然被复制的类(使用复制构造函数)。如果我这样声明复制构造函数:
它抱怨对已删除函数的引用。我现在已经检查了我的整个代码两次,找不到类的实例将被复制到哪里。
有什么方法可以找到引用的来源?
我已经尝试定义复制构造函数,其中有一个断点,但它从未被命中。
更新
抱歉,它确实显示了引用的位置——在 STL 中的某个分配器中。我设法将其追踪到 std::vector::emplace_back() 调用 - 这必须导致副本。我将对此进行调查。
更新 2
我真是个笨蛋——我有一个 MyClass 的向量......
c++ - 错误 C2280:试图引用已删除的函数(试图调用 vector.erase)
我是 C++ 新手。我正在使用 SFML 和 Box2D 开发突破克隆,编译时出现此错误。错误详情:
当我尝试使用 vector.erase 从 std::vector< Tile> 中擦除 Tile 对象时出现错误。
我将 Tiles 推到向量中
我试着擦掉里面的瓷砖
问题是否与移动构造函数/赋值有关?
c++ - 实例化 std::mutex 时出现编译器错误
我在我的代码库中广泛使用了 std::mutex。但是,其中一个类根本不允许我将互斥锁添加到其实例变量列表中。我很简单地使用以下方法实例化互斥锁 -
我将上述语句添加到班级成员列表的私有部分。
我收到以下错误 -
我尝试添加互斥锁的类被复制。
正如我所说,我在整个代码库中都使用了互斥锁,所以很奇怪我不能在一个地方实例化互斥锁,而我可以在所有其他地方实例化。你能告诉我这里出了什么问题吗?
c++ - 使类不可复制的宏
以下宏是否存在使类不可复制的问题?