- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クラス内のクラスから1つ目のクラスのメソッドよ呼び出しがうまくいきません^^;)
クラス内のクラスからメソッド呼び出しでエラーが発生する
このQ&Aのポイント
- クラス内のクラスからメソッド呼び出しをする際にエラーが発生してしまいます。解決策を教えてください。
- クラス内のクラスから別のメソッドを呼び出したいですが、コンパイルエラーが発生してしまいます。
- クラス内のクラスからメソッドを呼び出す方法を教えてください。
- みんなの回答 (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(); } 一応これでコンパイルは通りますが。
お礼
そうだったんですか!! できました^^ありがとうございましたm(_ _)m