インターフェイスを使用してコールバックを実装しました..
struct ICallback
{
virtual bool operator()() const = 0;
};
およびコールバックを追加する関数
void addCallback(const ICallback* callback) { .... }
そして使用、コールバックはいくつかのクラスにあります
class BusImplemantation{
public:
struct Foo : ICallback
{
virtual bool operator()() const { return true;}
}foo;
void OtherMethod();
int OtherMember;
};
しかし、コールバックはクラス(関数/メソッドではない)であるため、コールバック内でOtherMethodおよびOtherMemberにアクセスできません。コールバックがクラスではなく、メソッドのみの場合は可能です。(内部クラスとメソッド)
OtherMethod と OtherMember を callback にパラメーターとして渡すことはできません。
そのためのより良い解決策はありますか?多分テンプレートで?