错误、漏洞、问题 - 页 2735 1...272827292730273127322733273427352736273727382739274027412742...3184 新评论 Pavel Komarovsky 2020.05.07 08:10 #27341 我有个问题,我现在怎么能找到免费的信号?我定期手动找到它们,但信号页面只显示付费信号。按价值过滤并不能让我找到它们。 Stanislav Korotky 2020.05.07 13:09 #27342 重新编译与测试器中选择的专家顾问相连接的库,在下一次运行时不会被选中。我必须在测试器中选择另一个专家顾问,然后切换到前一个。只有这样,测试人员才会拿起新库。完全不明显的错误。 [删除] 2020.05.07 14:20 #27343 Stanislav Korotky: 重新编译连接到专家顾问的库,在测试器中被选中,在下一次启动时不会导致它被选中。我必须在测试器中选择另一个专家顾问,然后切换到前一个。只有这样,测试人员才会拿起新库。完全不明显的错误。 在稳定版中也是如此... Sergey Dzyublik 2020.05.08 13:03 #27344 MT5错误(build 2407)当类包含一个指向使用该类作为字段的包装类的指针时,会出现编译错误。 C++在线:https://onlinegdb.com/SJN1shM58 template<typename T> class wrapper{ public: T data; }; class B{ public: wrapper<B>* ptr; // undefined class 'B' cannot be used }; void OnStart(){ B b; b.ptr = new wrapper<B>(); printf("%p", b.ptr); } A100 2020.05.10 15:15 #27345 一个编译错误。int i = f(); //Error: 'f' - undeclared identifier void OnStart() { } int f() { return 0; } 但除此之外。 void OnStart() { int i = f(); //нормально } int f() { return 0; } 很好。这有什么区别呢? Igor Makanu 2020.05.10 15:25 #27346 A100: 这是一个编译错误。 但这种方式。 你应该这样写你的第一个例子--用正向描述,顺便说一下,结构和类的正向描述也可以用 int f(int); int i = f(5); void OnStart() { printf("i = %i", i); } //+------------------------------------------------------------------+ int f(int v) { return v * v; } //+------------------------------------------------------------------+ 2020.05.10 17:23:27.704 tst1 (ETHUSD,M1) i = 25 A100: 好的。有什么区别呢? 我认为编译器从上到下进行解析,在最后,OnStart()将被最后分析。 A100 2020.05.10 16:11 #27347 Igor Makanu: 我认为编译器从上到下进行解析,OnStart()将最后被分析。 在这种情况下,不需要思考--规则应该是一般性的:如果一个函数可以在声明之前应用,那么它就可以,如果不可以,那么它就不能。 因此,这两种情况都必须要么编译,要么不编译 Igor Makanu 2020.05.10 17:10 #27348 A100: 在这种情况下,不需要思考--规则应该是一般性的:如果一个函数可以在声明之前应用,那么它就可以,如果不可以,那么它就不能。 因此,这两种情况都必须是可编译或不可编译。 唉,这就是所谓的语言特性,你可以这样写 int f(int v) { return v * v; } void OnStart() { printf("i = %i", i); } //+------------------------------------------------------------------+ int i = f(5); A100 2020.05.10 17:19 #27349 Igor Makanu: 唉,这些都叫语言 的特殊性,你可以这样写。 所有的特殊性都反映在文件中。我在那里没有看到这个人。因此,结论是:这不是一个特点,而是一个缺陷。 Renat Fatkhullin 2020.05.10 18:00 #27350 A100: 在这种情况下,不需要思考--规则应该是一般性的:如果一个函数可以在声明之前应用,那么它就可以,如果不可以,那么它就不能。 因此,这两种情况都必须要么编译,要么不编译。 这是此类语言的C语言的正常行为。 没有正向函数声明,它们就不能被使用。与全局层面的直接调用相比,来自OnStart的调用实际上延迟了编译。 在C++中,将产生完全相同的错误。 1...272827292730273127322733273427352736273727382739274027412742...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
重新编译连接到专家顾问的库,在测试器中被选中,在下一次启动时不会导致它被选中。我必须在测试器中选择另一个专家顾问,然后切换到前一个。只有这样,测试人员才会拿起新库。完全不明显的错误。
在稳定版中也是如此...
C++在线:https://onlinegdb.com/SJN1shM58
但除此之外。
很好。这有什么区别呢?
这是一个编译错误。
但这种方式。
你应该这样写你的第一个例子--用正向描述,顺便说一下,结构和类的正向描述也可以用
2020.05.10 17:23:27.704 tst1 (ETHUSD,M1) i = 25
好的。有什么区别呢?
我认为编译器从上到下进行解析,OnStart()将最后被分析。
在这种情况下,不需要思考--规则应该是一般性的:如果一个函数可以在声明之前应用,那么它就可以,如果不可以,那么它就不能。 因此,这两种情况都必须要么编译,要么不编译
在这种情况下,不需要思考--规则应该是一般性的:如果一个函数可以在声明之前应用,那么它就可以,如果不可以,那么它就不能。 因此,这两种情况都必须是可编译或不可编译。
唉,这就是所谓的语言特性,你可以这样写
唉,这些都叫语言 的特殊性,你可以这样写。
所有的特殊性都反映在文件中。我在那里没有看到这个人。因此,结论是:这不是一个特点,而是一个缺陷。
在这种情况下,不需要思考--规则应该是一般性的:如果一个函数可以在声明之前应用,那么它就可以,如果不可以,那么它就不能。 因此,这两种情况都必须要么编译,要么不编译。
这是此类语言的C语言的正常行为。
没有正向函数声明,它们就不能被使用。与全局层面的直接调用相比,来自OnStart的调用实际上延迟了编译。
在C++中,将产生完全相同的错误。