mql5语言的特点、微妙之处以及技巧 - 页 121 1...114115116117118119120121122123124125126127128...247 新评论 fxsaber 2019.01.15 08:20 #1201 TheXpert: 那我就不明白了。 关于交易、自动交易系统和交易策略测试的论坛 mql5的特殊性,技巧和窍门 Alexey Navoykov, 2019.01.14 16:35 如果你需要,你可以在一开始就声明void OnTick();。 但一般来说,函数声明的顺序是控制代码正确性的额外方式。例如,如果在某些插件中调用OnTick(),或者更糟糕的是,OnInit()发生了,这好吗? 图书馆不能看到你的工作代码。 TheXpert 2019.01.15 08:23 #1202 fxsaber:那我就不明白了 正向声明只针对类和结构,不针对函数。 Andrey Khatimlianskii 2019.01.15 08:26 #1203 fxsaber:重点是,如果你要使用的函数是在inlude中指定的,你需要根据建议来写,如果inlude在下面。提前插入一个插入器有什么问题? 对于一个文件来说,这可能是不方便的(带主体的函数必须在调用之前),但如果是mqh中的函数--在开头插入inlude有什么问题? fxsaber 2019.01.15 08:30 #1204 TheXpert:正向声明只适用于类和结构,不适用于函数。你澄清了这一点,这很好。 安德烈-哈蒂姆连斯基。提前插入一个插入器有什么问题? 对于单个文件来说,这可能是不方便的(一个函数在调用前必然有一个主体),但如果函数是在mqh中--在开头插入一个内联有什么问题?一些带有宏的结构有时需要在最后一行加入inlude。我不会给你一个具体的例子,我在实践中多次遇到过。 TheXpert 2019.01.15 08:59 #1205 TheXpert:正向声明只针对类和结构,不针对函数。 不,我也错了。一个函数有一个声明和定义。 Alexey Navoykov 2019.01.15 15:45 #1206 fxsaber:一些带有宏的结构有时需要在最后一行插入一个inlude。我不会给你一个具体的例子,我在实践中遇到过很多次。我认为单个宏不值得为了它们而牺牲架构的正确性。 无论如何,程序代码在任何情况下都必须完全按照其预定的算法来执行。在初始化之前访问一个变量 是无稽之谈。 这不应该被编译。 Alexey Navoykov 2019.01.15 18:37 #1207 顺便说一下,如果一个inlude使用了一些不存在的函数,无论如何都必须在那里声明。就像类和外部变量一样。 否则,它就是一个拐杖,而不是一个嵌套。 相应地,插件也不应该依赖于它被插入的地方。 fxsaber 2019.01.15 18:41 #1208 Alexey Navoykov: 顺便说一下,如果在inlude中使用了一些函数,而这些函数并不在那里,那么无论如何必须在那里声明。否则,它就不是一个嵌套,而是一个拐杖。你认为Inlude是什么?对我来说,它只是一段文字,分配到一个单独的文件。而其重新进入源头却被忽略了。没有别的了。 Alexey Navoykov 2019.01.15 18:58 #1209 fxsaber:你认为Inlude是什么?对我来说,它只是一段文字,分配到一个单独的文件。而其重新进入源头却被忽略了。没有别的了。我认为应该是独立的,独立的代码。 这更有意义,而且容易控制,对这段代码做独立的语法检查。 但如果所有东西都在不同的文件里,而且不清楚从哪里调用,那就乱了。 fxsaber 2019.01.15 19:44 #1210 Alexey Navoykov:嗯,我认为应该是独立的独立代码。 这更有意义,也更容易控制和执行独立的语法检查。 如果所有的东西都分散在文件中,不清楚从哪里调用了什么--那就乱了。我的代码的例子已经张贴出来了。我没有听到任何关于混乱的反馈,即使是不编译的incudes。 1...114115116117118119120121122123124125126127128...247 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
那我就不明白了。
关于交易、自动交易系统和交易策略测试的论坛
mql5的特殊性,技巧和窍门
Alexey Navoykov, 2019.01.14 16:35
如果你需要,你可以在一开始就声明void OnTick();。 但一般来说,函数声明的顺序是控制代码正确性的额外方式。例如,如果在某些插件中调用OnTick(),或者更糟糕的是,OnInit()发生了,这好吗? 图书馆不能看到你的工作代码。那我就不明白了
正向声明只针对类和结构,不针对函数。
重点是,如果你要使用的函数是在inlude中指定的,你需要根据建议来写,如果inlude在下面。
提前插入一个插入器有什么问题?
对于一个文件来说,这可能是不方便的(带主体的函数必须在调用之前),但如果是mqh中的函数--在开头插入inlude有什么问题?
正向声明只适用于类和结构,不适用于函数。
你澄清了这一点,这很好。
提前插入一个插入器有什么问题?
对于单个文件来说,这可能是不方便的(一个函数在调用前必然有一个主体),但如果函数是在mqh中--在开头插入一个内联有什么问题?
一些带有宏的结构有时需要在最后一行加入inlude。我不会给你一个具体的例子,我在实践中多次遇到过。
正向声明只针对类和结构,不针对函数。
一些带有宏的结构有时需要在最后一行插入一个inlude。我不会给你一个具体的例子,我在实践中遇到过很多次。
我认为单个宏不值得为了它们而牺牲架构的正确性。
无论如何,程序代码在任何情况下都必须完全按照其预定的算法来执行。在初始化之前访问一个变量 是无稽之谈。 这不应该被编译。
顺便说一下,如果一个inlude使用了一些不存在的函数,无论如何都必须在那里声明。就像类和外部变量一样。 否则,它就是一个拐杖,而不是一个嵌套。
相应地,插件也不应该依赖于它被插入的地方。
顺便说一下,如果在inlude中使用了一些函数,而这些函数并不在那里,那么无论如何必须在那里声明。否则,它就不是一个嵌套,而是一个拐杖。
你认为Inlude是什么?对我来说,它只是一段文字,分配到一个单独的文件。而其重新进入源头却被忽略了。没有别的了。
你认为Inlude是什么?对我来说,它只是一段文字,分配到一个单独的文件。而其重新进入源头却被忽略了。没有别的了。
我认为应该是独立的,独立的代码。 这更有意义,而且容易控制,对这段代码做独立的语法检查。 但如果所有东西都在不同的文件里,而且不清楚从哪里调用,那就乱了。
嗯,我认为应该是独立的独立代码。 这更有意义,也更容易控制和执行独立的语法检查。 如果所有的东西都分散在文件中,不清楚从哪里调用了什么--那就乱了。
我的代码的例子已经张贴出来了。我没有听到任何关于混乱的反馈,即使是不编译的incudes。