什么原因导致mql4中的堆栈溢出错误? - 页 3 1234 新评论 [删除] 2013.11.13 14:25 #21 RaptorUK: 但它可以处理那么大的一个函数 ......正如我所解释的,改变函数类型,对于同样大小的函数就不会出现编译错误 ...... 那么这是否意味着一个int函数 需要更多的资源来执行?也许那时元引号可以使init、deinit和start成为void,所以它们消耗的资源更少。 Simon Gniadkowski 2013.11.13 14:26 #22 RaptorUK: 但它可以处理那么大的一个函数 ......正如我所解释的,改变函数类型,对于同样大小的函数就不会出现编译错误 ...... ......或者让它成为一个int,并留下return(0);对所有的调用都这样做 ...... ReturnedValue = ObCreate("EURUSDg",Column1xg,15,ZoomTimes); ReturnedValue = ObCreate("EURUSDa",Column1xa,15,ZoomTimes); . . .其中ReturnedValue是一个int. .你猜怎么着? 没有编译错误。 让你的代码有意义 ...... 嘿,就像变魔术一样,错误消失了,奇怪吧? [删除] 2013.11.13 14:27 #23 一个返回0的int函数 应该与一个void函数相当,所以这意味着有一些东西。 Simon Gniadkowski 2013.11.13 14:29 #24 tonny: 那么这是否意味着一个int函数需要更多的资源来执行?也许元引号可以使init、deinit和start都是无效的,所以它们消耗的资源更少。 当然,一个int 函数 需要更多的资源来执行......它需要返回一个值,这个值必须存储在内存中才能被返回。我见过有人在代码中把init、start和deinit声明为void ......这不是我做的。 [删除] 2013.11.13 14:31 #25 RaptorUK:......或者让它成为一个int,并留下return(0);对所有的调用都这样做 ...... . . .其中ReturnedValue是一个int. .你猜怎么着? 没有编译错误。 让你的代码有意义 ... ...然后嘿嘿,就像变魔术一样,错误消失了,很奇怪吧? 总之问题解决了,但我认为错误出现在不应该出现的地方。 Simon Gniadkowski 2013.11.13 14:31 #26 tonny: 一个返回0的int函数应该可以和一个void函数相提并论,所以这意味着有东西。 不是的 ......无效函数 不会返回一个值 ......0、1、10000的值都需要相同的内存空间来保存 ......它们都是int 类型,一个int 使用4个字节。 void不返回任何东西,这需要0个字节。. . [删除] 2013.11.13 14:34 #27 这意味着即使有了void,如果我们增加更多的对象,也会达到压力点并再次导致错误。我们同意吗? [删除] 2013.11.13 14:40 #28 我把沉默当作是。结案。 Simon Gniadkowski 2013.11.13 14:51 #29 tonny: 这意味着即使有了void,如果我们增加更多的对象,也会达到压力点并再次导致错误。我们同意吗? 不,我不同意。 但看来你可能是对的。 [删除] 2013.11.13 15:12 #30 RaptorUK: 不,我不同意。 但 看来你可能是对的......。 现在我们在同一起跑线上了。 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
但它可以处理那么大的一个函数 ......正如我所解释的,改变函数类型,对于同样大小的函数就不会出现编译错误 ......
那么这是否意味着一个int函数 需要更多的资源来执行?也许那时元引号可以使init、deinit和start成为void,所以它们消耗的资源更少。
但它可以处理那么大的一个函数 ......正如我所解释的,改变函数类型,对于同样大小的函数就不会出现编译错误 ......
......或者让它成为一个int,并留下return(0);对所有的调用都这样做 ......
. . .其中ReturnedValue是一个int. .你猜怎么着? 没有编译错误。
让你的代码有意义 ...... 嘿,就像变魔术一样,错误消失了,奇怪吧?
那么这是否意味着一个int函数需要更多的资源来执行?也许元引号可以使init、deinit和start都是无效的,所以它们消耗的资源更少。
......或者让它成为一个int,并留下return(0);对所有的调用都这样做 ......
. . .其中ReturnedValue是一个int. .你猜怎么着? 没有编译错误。
让你的代码有意义 ... ...然后嘿嘿,就像变魔术一样,错误消失了,很奇怪吧?
总之问题解决了,但我认为错误出现在不应该出现的地方。
一个返回0的int函数应该可以和一个void函数相提并论,所以这意味着有东西。
这意味着即使有了void,如果我们增加更多的对象,也会达到压力点并再次导致错误。我们同意吗?
但看来你可能是对的。
不,我不同意。
但 看来你可能是对的......。
现在我们在同一起跑线上了。