私は最近クラスの継承を使い始めて、おそらくとても基礎的な段階なので、失礼も多いかと思います。書くべき、こう考えるべき、といった意見があればぜひご教授頂きたいです。本当に見ずらいと思います。本当に申し訳ありません。(VisualStudioでマリオのような2Dアクションゲームの作製をしようとしています。)そして、継承に関するエラーコードが出たのですが、その原因が分からず苦戦しています。エラー対象だと思われるコードを質問の下に書きました。そちらを先に見ていただくとありがたいです。出ているエラーは'Roll_Char_Parameter_IsAbleGo':定義されていない基底クラスが宣言されています。(プロジェクト:Action_Sample、ファイル:roll_char_parameter.h、行:13)'Roll_Char_Parameter':定義されていない基底クラスが宣言されています。(プロジェクト:Action_Sample、ファイル:roll_char_parameter_isable.h、行:8)の二つです。この文章によると、基底クラスのRoll_Char_Parameter_ShouldGoクラスが定義されてないの事ですが、きっちり継承させるクラスのヘッダにはRoll_Char_Parameter_ShouldGoのヘッダファイルをインクルードさせています。Roll_Char_Parameter_IsAbleGoとRoll_Char_Parameterから見ても、Roll_Char_Parameter_ShouldGoはインクルードされているので、定義はされていると思うのですが、このエラーが出てしまいます。////////////////////////ここからソースコード/////////////////////////////エラー対象だと思われるクラスは3つ。訂正です・Roll_Char_Parameter_IsAbleGo(Roll_Char_Parameter_ShouldGo「とRoll_Char_Parameter」を基底とし、Roll_Char_Parmeterの基底である)//継承関係(非常に見ずらいです。構造が循環してしまっているせいだと思います。継承は共通の基底クラスを持つクラスを多重継承した場合に基底クラスを1つにまとめる(ダイアモンド継承にする)場合で、この循環する構造の回避はできないと思います。読みずらい中の解答、本当にありがとうございます。_)mクラスの継承で、お互いが基底クラスになってしまってはいけないのですね。.........................↑....................Parameterにしましたら普通にできました。Parameterにあるインターフェースを使いたく、循環の形を取りましたが、IsAbleGoにもう一つインターフェースを宣言する事でうまくいきました。下位の階層にあるインターフェースは使えない事を今回知ることができてとてもうれしいです。1年前Parameterクラスをpublicで継承すれば派生クラスからでもParameterクラスのメンバ関数を呼び出せます。1年前なるほど、あくまでpublicは継承した、されたクラスで使用可能なのですね。階層が低いところからは呼び出せないかと思っていました。すごく勉強になります。1年前Parameter_IsAbleGo(↓のInterfaceは使えない)......↑Parameter(Interfaceがある:publicにする)継承関係は上のとおりです。先ほど、この継承関係で、Parameterの使いたいメンバ(インターフェース)をpublicにして試してみました。ご忠告のとおり出来ませんでした。下の階層には共有されますが、上の階層には共有されないですね。確認せず返信してしまって申し訳ありません。今回の設計では、なるべく上の階層にインターフェースを置くべきですね。1年前Parameter_IsAbleGoはGo可能かどうか判定する関数とその結果を保持する変数だけのクラスにした方がよいかと思います。Parameter_IsAbleGoにメンバ変数にX,Y,Speedは持たせず。僕の中でUpdate関数は引数なしで書く癖があったのでああいう風に書いてしまいました。何を持つべきか考えるべきですね。ご教授、本当にありがとうございます。僕の中でUpdate関数は引数なしで書く癖があったのでああいう風に書いてしまいました。何を持つべきか考えるべきですね。ご教授、本当にありがとうございます。ミクプラは自由にリンクできます。