問題タブ [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++ - C++ 入門書第 5 版: Move コンストラクターを削除およびコピー コンストラクターとして合成
私は C++ 入門書第 5 版の最後の付録にいます。(ソリューション部分):
そこからの例を次に示します。
Assume
Y
は、独自のコピー コンストラクターを定義するが、ムーブ コンストラクターを定義しないクラスであると想定します。
の定義を追加しましたstruct Y
:
hasY
プログラムを実行すると、問題なく動作し、削除された移動コンストラクターについて文句を言うことはありません。そして、私は出力を取得します:Y
したがって、タイプのオブジェクトはコピーコンストラクターを介して移動されますが、その逆ではないため、これは機能すると思います。したがって、hasY
の move-ctor を呼び出すY
と、削除される の move-ctor が呼び出され、コンパイラはY
の copy-ctor を使用してその要素を移動します。私は正しいですか?教えて。ありがとうございました!
c++ - 再帰関数呼び出し時のコンパイラ エラー - 「削除された関数を参照しようとしています」
再帰関数を使用してバイナリ ツリーをファイルに書き込もうとしています。への呼び出しwriteFile(std::string fileName)
は、ファイル ストリームを開き、それを再帰関数呼び出し に渡しますwriteFile(BinNode<T> ptr, std::ofstream outFile)
。最初の関数が2番目の関数を呼び出すと、コンパイラは「削除された関数を参照しようとしています」というエラーを返します(私のコードに記載されている行。エラーコードを調査し、デフォルトのコンストラクター、デストラクタがあるため、関数はありませんどんなアイデアでも大歓迎です。
BinTree.h:
BinTree.template:
BinNode.h: