問題タブ [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.

0 投票する
1 に答える
52 参照

c++ - C++ 入門書第 5 版: Move コンストラクターを削除およびコピー コンストラクターとして合成

私は C++ 入門書第 5 版の最後の付録にいます。(ソリューション部分):

そこからの例を次に示します。

AssumeYは、独自のコピー コンストラクターを定義するが、ムーブ コンストラクターを定義しないクラスであると想定します。

の定義を追加しましたstruct Y:

  • hasYプログラムを実行すると、問題なく動作し、削除された移動コンストラクターについて文句を言うことはありません。そして、私は出力を取得します:

  • Yしたがって、タイプのオブジェクトはコピーコンストラクターを介して移動されますが、その逆ではないため、これは機能すると思います。したがって、hasYの move-ctor を呼び出すYと、削除される の move-ctor が呼び出され、コンパイラはYの copy-ctor を使用してその要素を移動します。私は正しいですか?教えて。ありがとうございました!

0 投票する
1 に答える
46 参照

c++ - 再帰関数呼び出し時のコンパイラ エラー - 「削除された関数を参照しようとしています」

再帰関数を使用してバイナリ ツリーをファイルに書き込もうとしています。への呼び出しwriteFile(std::string fileName)は、ファイル ストリームを開き、それを再帰関数呼び出し に渡しますwriteFile(BinNode<T> ptr, std::ofstream outFile)。最初の関数が2番目の関数を呼び出すと、コンパイラは「削除された関数を参照しようとしています」というエラーを返します(私のコードに記載されている行。エラーコードを調査し、デフォルトのコンストラクター、デストラクタがあるため、関数はありませんどんなアイデアでも大歓迎です。

BinTree.h:

BinTree.template:

BinNode.h: