GCCを使用してプログラミングをしています。C++のメンバ関数をメモリに保存し、呼び出す方法を試しています。人力検索はてな人力検索はてなモバイル版を表示しています。PC版はこちらGCCを使用してプログラミングをしています。C++のメンバ関数をメモリに保存し、呼び出す方法を試しています。リンク先に記載させていただいたサンプコードとコンパイル手順にて調査を行っておりますが、エラーを回避することができていない状況です。http://d.hatena.ne.jp/j884/20110409URLの紹介だけではなく、先にあげたサンプルコードでの具体的な実装方法をご助言いただけますとうれしいです。▽最新の回答へ▽1●あすか●5ポイントご質問のソースの意図がよく分からないのですが、下記のようにすれば目的の結果は得られると思います。c.foo();}◎質問者からの返答ご説明が不十分でした。関数をポインタに保存しそれをコールする、コールバック関数のような用途を意図したものでした。▽2●tdoi●65ポイントベストアンサーこんな方法でいいのでしょうか?1.正しい型の変数を用意する。エラーの通り、関数ポインタの型が違います。スタティックではないメンバ関数は、インスタンス無しでは呼び出すことはできませんので、型が違いますし、呼び出し方も違います。インスタンスcに対して、funcにセットしたメンバ関数を呼び出す。(c.*func)();}2.boostを使う1の方法は正しいですが、引数なしで戻り値がない関数なのに、型を変えて統一的に扱うことが難しいです。そんなときは可能であれば、boostの導入を検討してみてください。以下の例では、funcはグローバルに定義していますが、オブジェクトcの生存しているうちに呼び出さないと、セグメンテーションエラーを起こしますので、注意してください。その際は、shared_ptrなどを併用してください。func();}3.foo自体をstaticにしてしまう1と2は元のmyclassの定義に影響を与えないという前提で対処していますが、myclassに変更を加えてもよいのであれば、fooをstaticにしてしまうという方法もあります。この方法では、valueにアクセスできません。(*func)();}何かの参考になれば。ありがとうございます。関連質問jsonのデータ(以下Jsonのデータ)を利用したいのですが、Javasc...C言語初心者です。□はてなトップ(C)株式会社はてな。