错误、漏洞、问题 - 页 1422

 

Mihail Matkovskij, 2015.11.01 12:55

我无法将终端更新到Build 902,以前可以更新,但现在3天都无法更新了。版本:4;构建:890;比特率:32。原因可能是什么?

究竟是什么原因造成的不成功?你在做什么,你得到了什么?什么样的错误?
 

执行过程中出错

class A { public:
        virtual bool    g() { Print( __FUNCTION__ ); return true; }
        virtual bool    f() { return g(); }
};
class B : public A { public:
        virtual bool    g() { Print( __FUNCTION__ ); return true; }
};
void OnStart()
{
        int i = 0;
        for ( B b; b.f(); i++ )
                if ( i++ >= 3 )
                        break;
}                

结果: ,应该是:

 
Karputov Vladimir:
究竟是什么原因造成的不成功?你在做什么,你得到了什么?有哪些错误?

由于日志是保密的,所以我以私人信息的形式发给你。

 
A100:

内存泄漏。


A100,你真是个捕虫高手!!。继续努力吧!向你致敬 :)

 
Stanislav Korotky:
这就是MT4。在过去的几天里,我一直在尝试它。构建902/32。

我在MT4/891/32上用不同的编译器尝试了你的例子(构建:1174,1210)。

无论是升级...或回滚。

 
sigma7i:

A100,你真是个捕虫高手!!。继续努力吧!向你致敬 :)

因此,人们可以一眼看出谁真正使用了OOP的能力,谁是这个问题上的推理大师(有一整个大师的分支)。

关于交易、自动交易系统和测试交易策略的论坛

看在上帝的份上,AOP....

George Merts, 2015.10.26 19:58

你只是不知道如何烹饪它。

OOP对于程序的结构化以及支持和修改的能力都非常有利。

特别是你说你 "把类作为函数的容器"--好吧,把与这些函数一起工作的数据放到这个容器里,你就得到了,OOP在行动。


 
A100:

摆脱这个错误的唯一方法是将metaeditor.ini中的Optimize=1改为0

我并不真的需要摆脱它,但也许开发者需要。毕竟,如果编译器工作良好,这种错误甚至不应该在编译时出现。这就是为什么我给你一个确切的代码样本,当它发生时。
 
Ilya Malev:
这就是为什么我在它出现时给出了确切的代码例子。
在Build 1210/32中,它不能被重复。
对吗?
void OnStart()
{
        ENUM_TIMEFRAMES tf=NULL;
        if(tf==NULL)   tf=Period();
}
 
A100:

我在MT4/891/32上用不同的编译器尝试了你的例子(构建:1174,1210)。

无论是升级...或回滚。

没有。服务台总是说 "升级到最新版本"。(当然这应该是正确的,如果他们只是在修复错误)。我在Build 900上检测到这个问题,然后更新到902 - 没有改善。显然,这个问题是由于增加了类模板而产生的。虽然模板会 "跳舞 "一段时间,但我认为最好根本不使用它们。

 
A100:
在Build 1210/32上没有重复。
是这样吗?