我在Xcode 4.2中编写了一个C++库xcode - “尝试使用已删除的函数” - 这是什么意思?
我的一个类不会编译出这个错误:“尝试使用已删除的函数”。
没有具体说明它在说什么功能。 我不想在这里发布课程代码,但是有没有人知道这个错误的含义?这是无处在谷歌被发现... :(
多谢
Roey
我在Xcode 4.2中编写了一个C++库xcode - “尝试使用已删除的函数” - 这是什么意思?
我的一个类不会编译出这个错误:“尝试使用已删除的函数”。
没有具体说明它在说什么功能。 我不想在这里发布课程代码,但是有没有人知道这个错误的含义?这是无处在谷歌被发现... :(
多谢
Roey
在C++ 11你可以声明功能删除:
struct Foo {
Foo(const Foo &) = delete;
};
尝试使用这样的函数是一个错误,这样做的目的是,在这个例子中,这种类型的复制构造是不可能的,这是一个更直接的替代方案,用于C++ 11之前使用的不可复制的技巧。
此外,C++规范中还有一些规则会导致成员函数被隐式删除。
错误告诉你,你的程序试图使用已删除的函数。您必须发布您获得的错误以获得更详细的帮助。
我有一个类似的消息与线程(C++ 11)。事实证明,我将错误的参数数量传递给线程所调用的函数,因此线程没有找到适合的函数并给出了该消息。
对我来说,它解决了它,当我通过“this”指针作为函数的参数。
要添加到卡洛斯的答案,我有正确数目的参数,但其中一个参数被引用传递。在变量周围添加ref()修复了它。看到here.
好吧,这听起来像你试图使用(呼叫或取得地址)已删除的功能,但如果你不想发布代码,你不可能获得更多的帮助比在您发布的错误消息中。 – 2012-04-09 21:32:59
那么,你基本上回答了我的问题与我的问题。我知道我试图使用删除的功能。这个错误告诉了我。但什么是删除的功能? – 2012-04-10 08:57:36
这是我的观点。如果没有更多的上下文 - 代码 - 我们所能做的只是重新编写错误消息。如果你不知道被删除的函数是什么,那么就把它当作一个问题。 – 2012-04-10 09:13:36