首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MQL4函数指针/函数回调解决方案

MQL4函数指针/函数回调解决方案
EN

Stack Overflow用户
提问于 2015-04-06 22:22:12
回答 1查看 2.6K关注 0票数 4

据我所知,MQL4中不存在函数指针。

作为一种变通方法,我使用:

代码语言:javascript
复制
// included for both caller as callee side
class Callback{
   public: virtual void callback(){ return; }
}

然后在从中传递回调的源代码中:

代码语言:javascript
复制
class mycb : Callback{
   public: virtual void callback(){
     // call to whatever function needs to be called back in this source
   }mcbi;

现在可以按如下方式传递mcbi:

代码语言:javascript
复制
 afunction(){
    fie_to_receive_callback((Callback *)mycbi);
 }      

接收方可以回调为:

代码语言:javascript
复制
 fie_to_receive_callback(mycb *mcbi){
    mcbi.callback(); // call the callback function
  }

在mql4中有没有更简单的方法来传递函数回调?

EN

回答 1

Stack Overflow用户

发布于 2019-05-16 01:38:37

下面是一个示例:

代码语言:javascript
复制
typedef int(*MyFuncType)(int,int);

int addition (int a, int b)
{ return (a+b); }

int subtraction (int a, int b)
{ return (a-b); }

int operation (int x, int y, MyFuncType myfunc)
{
   int g;
   g = myfunc(x,y);
   return (g);
}

int OnInit()
{
   int m,n;
   m = operation (7, 5, addition);
   n = operation (20, m, subtraction);
   Print(n);
   return(INIT_FAILED);  //just to close the expert
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29473161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档