TKG37822020/05/16 13:17すみません、よくわかりません。 sampクラスのオブジェクトポインタpにsampクラスのオブジェクトobのアドレスを渡しているのが間違っているというのはなんとなくわかりますが、ではobとpは何が違うのでしょう。
episteme2020/05/16 13:25 編集errorメッセージが教えてくれています。 p は samp*、ob は samp(*)[4][2] です。 ob[0][0] はsampなので &ob[0][0] ならお望み通りの samp* が得られます。
TKG37822020/05/16 13:01 編集p = &bではなく, p = &obの間違いです 失礼しました。 23行目のコードを p = &ob にしたところ、うまくいかないという意図です。 わかりずらくて申し訳ないです。
退会済みユーザー2020/05/16 13:23型のチェックは#include <typeinfo>などを用いることでわかりますが、&obと(samp*)obの型は違います(配列のため)。 純粋に型が違うため代入が出来ません。 epistemeさんもおっしゃっていますが、&ob[0][0]として渡すと型が一致するため代入できます。 あとコードはスクリーンショットではなくコピーして貼り付けるようにしましょう…手元で実行するのが大変ですので…
TKG37822020/05/16 13:28なるほど! pは、sampクラスのオブジェクトポインタで、obはsampクラスのオブジェクトの配列へのポインタ、ということですか! それでpに渡すなら配列のうちの1つであるob[0][0]のアドレスを渡すべきだということですね。 やっと理解できました。 わかりやすい回答ありがとうございました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/16 13:07
2020/05/16 13:14 編集
2020/05/16 13:17
2020/05/16 13:25 編集