問題タブ [reference-wrapper]
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++ - std:vector の変換> std:vector へ> 実行時エラー時間: 0 メモリ: 3412 信号: 6
Base オブジェクトへの参照のベクトルを Derived オブジェクトへの参照のベクトルに変換しようとしています。すべて正常にコンパイルされていますが、次のエラーが発生しました: ランタイム エラー時間: 0 メモリ: 3412 信号:6
これは私のコードです:
dynamicCast() 関数の何が問題になっていますか?
編集: @John Zwinck の回答は役に立ちましたが、コードでこれを実行しようとすると、コンパイル エラーが発生しました:
dynamic_cast '(& obj)->std::reference_wrapper<_Tp>::get()' (タイプ 'class MEPObject') をタイプ 'class MEPGene&' に変換できません (ターゲットは完全なタイプへのポインターまたは参照ではありません) Genes.push_back (dynamic_cast (obj.get()));
c++ - 基本クラスへの参照ラッパーのベクトルを派生クラスへの reference_wrapper のベクトルに変換することは動的キャストできません
タイトル通り。dynamic_cast しようとすると、このエラーが発生しました
dynamic_cast '(& obj)->std::reference_wrapper<_Tp>::get()' (タイプ 'class MEPObject') をタイプ 'class MEPGene&' に変換できません (ターゲットは完全なタイプへのポインターまたは参照ではありません) Genes.push_back (dynamic_cast (obj.get()));
c++ - C++ 参照ラッパーを返す
以下に示すような参照ラッパーを返すのは危険ですか?
ローカル/スタック変数 x は で失われる可能性があると思いますfoo2()
。
c++ - std::オプション> - 大丈夫ですか?
は
C++17 の標準 (またはドラフト) に準拠していますか?
std::optional
標準では、参照型の形式が正しくないと明示的に述べています。しかし、それは含まれていますreference_wrapper
か?
c++ - std::vector をパラメータに渡す正しい方法は何ですか?
オブジェクトベースの同じクラスで満たされたベクトルを渡したいです。どちらもstd::reference_wrapper
参照なしでは修正されません。これを解決する正しい方法は何ですか?