• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:続・複数のアドレスを関数から取得したいのですが)

関数から複数のアドレスを取得する方法

このQ&Aのポイント
  • 関数から複数のアドレスを取得する方法を教えてください。
  • クラスから複数のアドレスを取得する方法を知りたいです。
  • 複数のアドレスを取得するための方法を教えてください。

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

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

ポインタの使い方を完全に間違っています。 data.Syutoku(test1,test2); でポインタを引数にしてますが、これはポインタ変数に入っている値を渡しているだけポインタ変数自身のアドレスを渡していません。 data.Syutoku(&test1,&test2); が正しいです。 受けるほうも、 Syutoku(int **in_test1,int **in_test2); で、代入は、   *in_test1 = &data1;   *in_test2 = &data2; が正解です。 それはそれとして、インスタンスのメンバ変数のアドレスを外部に返す仕様はメンバ変数をprivateにしている意味がありません。メンバ変数をpublicにする方がましです。 さらにオブジェクト指向として考えた場合のカプセル化という思想に反しますので、加工処理自体を呼び元ではなくクラスの中に隠蔽できませんか?

takuya245
質問者

お礼

zwi様早速の回答本当にありがとうございます。 おかげで問題も解決しました。 ご指摘のことですが、自分も本当ならこんな方法はとりたくはなかったのですが、どうしてもアドレスでのデータ参照が必要不可欠だった為やむなくの判断です。 ポインタといい構築能力といい1から10まで勉強不足であることがよくわかりました(笑) 本当にありがとうございました。

関連するQ&A

専門家に質問してみよう