• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:*fa=(*func)(*ax))

*fa=(*func)(*ax);の実行でSegmentation faultが発生する理由

このQ&Aのポイント
  • プログラムtest2.cでvalue=(*func)(*ax)という処理が正常に実行された結果、期待する答え225.0を得ることができました。
  • しかし、test3.cで*fa=(*func)(*ax)という処理を行ったところ、Segmentation fault(セグメンテーションフォルト)が発生しました。
  • test3.cの*fa=(*func)(*ax)は、関数mnbrakの定義内の記述に従っていますが、なぜエラーが発生するのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • Electman
  • ベストアンサー率19% (30/154)
回答No.1

「*fa=(*func)(*ax);」の処理時点でfaに対してデータエリアが割り当てられていないため。 fa=&value;が抜けているのが原因です。

takana049
質問者

お礼

早速のご回答ありがとうございました. 確かに,mainの中に, float value;と fa=&value; を追加すると,正常に走って,期待する答えを得ることができました. ポインタfaを使用すれば,もはやvalueという変数は持出す必要はないと思っていました. 大変勉強になりました.重ねてありがとうございました.