8

Xcode 4.2 で C++ ライブラリを作成しています

私のクラスの 1 つが、「削除された関数を使用しようとしています」というエラーでコンパイルされません。

それが話している機能について具体的な指示はありません。ここにクラスコードを投稿したくありませんが、このエラーの意味を知っている人はいますか? Googleで見つけられる場所はどこにもありません... :(

本当にありがとう

ローイ

4

5 に答える 5

4

C++11 では、関数を削除済みとして宣言できます。

struct Foo {
    Foo(const Foo &) = delete;
};

このような関数を使用しようとするとエラーになります。これを行う目的は、この例では、このタイプのコピー構築が不可能になるようにするためです。これは、C++11 より前に使用されていたコピー不可能なトリックをより直接的に置き換えるものです。

また、C++ 仕様には、メンバー関数が暗黙的に削除されるルールがあります。

このエラーは、プログラムが削除された関数を使用しようとしていることを示しています。詳細なヘルプについては、発生しているエラーを投稿する必要があります。

于 2012-04-09T21:39:42.623 に答える
0

私にとっての問題は、引数の 1 つがポインターであり、NULL を引数として直接渡したことです。これを解決するために、代わりに左辺値として関数に渡す新しい NULL ポインターを作成しました。

于 2018-05-05T16:18:27.353 に答える