错误、漏洞、问题 - 页 2420 1...241324142415241624172418241924202421242224232424242524262427...3184 新评论 Andrey Pogoreltsev 2019.03.29 19:06 #24191 为什么mql5会移动语义?没有必要进行这样的性能优化,尤其是因为它是一个虚拟机。你还需要它做什么?) 就其本身而言,mql5与C++以及C++98 有很大的不同,与C++11/14/17更是如此,但其能力现在完全涵盖了你创建EA 所需要的东西。 Alexey Navoykov 2019.03.29 19:35 #24192 Andrey Pogoreltsev:但它的能力现在完全涵盖了你创建EA 所需要的东西。他们甚至在6年前的MQL4中就涵盖了这些必要条件,如果你知道当时的语言水平是什么的话。 我们用它写过EA,有些人还在用那种古老的风格写代码。 所以,一切都是相对的。 引进它的其他目的是什么?) 这个问题已经在这个主题的最后几页中讨论过了。 Aliaksandr Hryshyn 2019.03.30 11:53 #24193 它在这里给出了一个错误。 void OnStart() { struct sA { int ii[51]; }; struct sB { string name; sA distrib; }; sB f; } 'distrib' - struct undefined Test2.mq5 21 25 它并不是这样的。 void OnStart() { struct sA { int ii[51]; }; struct sB { //string name; sA distrib; }; sB f; } 这也行不通。 struct sA { int ii[51]; }; struct sB { string name; sA distrib; }; void OnStart() { sB f; } 附上一个重现该错误的脚本,一个空的脚本,其中有几行代码如上。 附加的文件: Test2.mq5 1 kb Aliaksandr Hryshyn 2019.03.31 09:11 #24194 嗯,这一点也说不通。 class A { class B { class C { class D { class E { bool YES; }; }; }; }; }; void OnStart() { E g; } E类不值得如此受欢迎。 它的编译没有任何错误。 fxsaber 2019.04.01 09:16 #24195 这是一个编译器错误吗?class A { private: int i; }; class B : public A { public: void f( int i ) {} // declaration of 'i' hides member declaration at line 4 }; [删除] 2019.04.01 14:25 #24196 fxsaber: 这是一个编译器错误吗? 会不会是一个格式化的人烦人地唠叨着废话,分散了对严肃事务的注意力? TheXpert 2019.04.01 14:30 #24197 fxsaber: 这是一个编译器错误吗? 同样的事情 Fast235 2019.04.01 14:34 #24198 Vict: 也许是一个恼人的形式主义者在说废话,让你从手头的严肃事务中分心?当你在他的热情中,你会告诉我吗? Nikolai Semko 2019.04.01 15:03 #24199 fxsaber: 这是一个编译器错误吗?这有点符合逻辑。 一个公共函数中的输入参数怎么可能是私有的。利益冲突。 如果这个私有参数要在这个函数里面使用,它不需要被声明为输入,因为它已经存在。 如果它要成为另一个变量,当然在函数中会与现有的私有变量发生名称冲突,所以需要用不同的名称来调用。 ZS 事实证明,如果是i公共或私人,这并不重要。这是一个微不足道的名称冲突。在函数f中,将不确定i是什么--输入参数还是父类的全局变量。 TheXpert 2019.04.01 15:22 #24200 Nikolai Semko:该问题暗示我们不能因为隐私而访问该成员,但编译器仍然显示名称冲突。 正如我所写的,加号的行为完全一样,即在编译器中没有错误,一切都很好。 1...241324142415241624172418241924202421242224232424242524262427...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
为什么mql5会移动语义?没有必要进行这样的性能优化,尤其是因为它是一个虚拟机。你还需要它做什么?)
就其本身而言,mql5与C++以及C++98 有很大的不同,与C++11/14/17更是如此,但其能力现在完全涵盖了你创建EA 所需要的东西。
但它的能力现在完全涵盖了你创建EA 所需要的东西。
他们甚至在6年前的MQL4中就涵盖了这些必要条件,如果你知道当时的语言水平是什么的话。 我们用它写过EA,有些人还在用那种古老的风格写代码。 所以,一切都是相对的。
引进它的其他目的是什么?)
它在这里给出了一个错误。
它并不是这样的。
这也行不通。
附上一个重现该错误的脚本,一个空的脚本,其中有几行代码如上。
嗯,这一点也说不通。
E类不值得如此受欢迎。
它的编译没有任何错误。
这是一个编译器错误吗?
这是一个编译器错误吗?
也许是一个恼人的形式主义者在说废话,让你从手头的严肃事务中分心?
当你在他的热情中,你会告诉我吗?
这是一个编译器错误吗?
这有点符合逻辑。
一个公共函数中的输入参数怎么可能是私有的。利益冲突。
如果这个私有参数要在这个函数里面使用,它不需要被声明为输入,因为它已经存在。
如果它要成为另一个变量,当然在函数中会与现有的私有变量发生名称冲突,所以需要用不同的名称来调用。
ZS 事实证明,如果是i公共或私人,这并不重要。这是一个微不足道的名称冲突。在函数f中,将不确定i是什么--输入参数还是父类的全局变量。
该问题暗示我们不能因为隐私而访问该成员,但编译器仍然显示名称冲突。
正如我所写的,加号的行为完全一样,即在编译器中没有错误,一切都很好。