1// PRMS Id: 3764 (c/h)
2// Bug: g++ gets into an infinite loop trying to find the top-level context
3// Build don't link:
4
5class Menu;
6class MenuItem;
7
8class MenuAction {
9public:
10  virtual void execute (Menu& menu, MenuItem& menuItem) = 0;
11protected:
12  MenuAction () {}
13};
14
15class Test {
16  class MenuCBA : public MenuAction {
17  public:
18    typedef void (Test::* MenuCBA_Member) (Menu& menu, MenuItem& menuItem);
19    MenuCBA (Test& instance, MenuCBA_Member member)
20      : _instance(&instance), _member(member) {	}
21    void execute (Menu& menu, MenuItem& menuItem);
22  private:
23    MenuCBA_Member _member;
24    Test* _instance;
25  };
26};
27