• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クラス内のクラスから1つ目のクラスのメソッドよ呼び出しがうまくいきません^^;)

クラス内のクラスからメソッド呼び出しでエラーが発生する

このQ&Aのポイント
  • クラス内のクラスからメソッド呼び出しをする際にエラーが発生してしまいます。解決策を教えてください。
  • クラス内のクラスから別のメソッドを呼び出したいですが、コンパイルエラーが発生してしまいます。
  • クラス内のクラスからメソッドを呼び出す方法を教えてください。

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

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

クラスの設計がちょっと駄目です。 c2からc1::k1にアクセスしたいなら、 c2がc1のポインタを持つか、k1をstaticメンバにします。 ちなみにstaticメンバはCの関数と同じただの関数でメンバ変数にアクセスできません。 またこの場合c2を内包する意味がありません。 class c1 {   int k1();   int k2(); }; でいいのです。 return c1::k1(); これが何故だめか、ですが c1は実体がありません。その為staticメンバ(静的な関数)である必要があるのです。 class c1 {   static int k1();   class c2   {     int k2();   }; }; int c1::k1() { return 0; } int c1::c2::k2() {   return c1::k1(); } 一応これでコンパイルは通りますが。

genki140
質問者

お礼

そうだったんですか!! できました^^ありがとうございましたm(_ _)m

関連するQ&A