イベント処理を委譲するためのクラスを設計しています。
環境はVC2008EEです。
少し長いのですが、以下のコードの問題を指摘して頂けないでしょうか。
コンパイルは通るのですが、アクセスエラーが発生してしまいます。

// Event.h
#include <iostream>
#include <map>

class Object {
protected:
virtual ~Object(){}
};

typedef void (Object::*MessageFunc)();