[解決済み] C++でクラスオブジェクトを参照で返すには?
2022-03-07 02:44:44
質問
あるデータを格納するObjectというクラスがあります。
このような関数を使って、それを参照で返したい。
Object& return_Object();
そして、私のコードでは、このように呼び出すことになります。
Object myObject = return_Object();
このようなコードを書いて、コンパイルしています。 しかし、このコードを実行すると、常にseg faultが発生します。 クラスオブジェクトを参照で返すには、どのような方法が適切でしょうか?
どのように解決するのですか?
おそらく、スタック上にあるオブジェクトを返しているのでしょう。それはつまり
return_Object()
は、おそらくこのようになります。
Object& return_Object()
{
Object object_to_return;
// ... do stuff ...
return object_to_return;
}
こんなことなら、運が悪かったな〜。
object_to_return
の最後でスコープ外に出て破壊されました。
return_Object
ということは
myObject
は存在しないオブジェクトを参照しています。値で返すか、あるいは
Object
より広いスコープで宣言されているか
new
をヒープ上に生成します。
関連
-
[解決済み】エラー:不完全な型へのメンバーアクセス:前方宣言の
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] 変数を参照渡しする方法を教えてください。
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] 派生クラス関数から親クラス関数を呼び出すには?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】構造体のベクター初期化について
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】IntelliSense:オブジェクトに、メンバー関数と互換性のない型修飾子がある
-
[解決済み】「corrupted size vs. prev_size」glibc エラーを理解する。
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み] 警告:暗黙の定数変換でのオーバーフロー
-
[解決済み] C++で「オブジェクトを返す」方法とは?