使用成员函数指针的映射

时间:2017-03-29 21:37:25

标签: c++ class stdmap member-function-pointers

我之前发布过一个类似的问题,现在问题出在其他地方了。

我试图制作一个MARIE代码模拟器,或者你称之为的任何东西,我试图避免使用长开关来访问类中的某些私有函数。

MARIEapp.h:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<body>
  <header class="site-header wrapper">
    <h1>Soundcloud Player</h1>
  </header>
  <section role="main" class="main wrapper">
    <a href="https://soundcloud.com/ritchrd/fly-feat-ritchrd" class="sc-player">Listen</a>

  </section>
</body>

MARIEapp.cpp:

MARIEapp.h{
public:
   typedef void (MARIEapp::*Instruction)();
private:
   static std::map<char, Instruction> MARIEinstruction;
   void JnS();
   void Load();
   void Store();
   void Add();
   void Subt();
   void Input();
   void Output();
   void Halt();
   void Skipcond();
   void Jump();
   void Clear();
   void AddI();
   void JumpI();
   void LoadI();
   void StoreI();
   void Execute();
    };

void函数的长列表访问私有成员并在cpp文件中正确定义,ShowRegister()函数也是如此

现在的问题是,在Execute()中,我在访问MARIEinstruction时遇到错误,说&#34;表观调用的括号前面的表达式必须有(指针到)函数类型&#34;。

还有其他方法你建议我这样做吗?

编辑:IR是一个字符串

0 个答案:

没有答案