错误、漏洞、问题 - 页 2520 1...251325142515251625172518251925202521252225232524252525262527...3184 新评论 A100 2019.07.29 13:03 #25191 而且没有任何错误 Это_новая_форма_комментария; void OnStart() {} A100 2019.07.29 15:18 #25192 编译时出错 void f() {} //Error: 'f' - function must have a body void f(); void OnStart() { f(); } 否则。 void f() {} void OnStart() { f(); } 这很好。有什么区别? 此外,C++的编译通常是一次完成的。 #ifdef __cplusplus void f( int ) {} //была функция //... void f( int = 1 ); //уточнили параметры по умолчанию void OnStart() { f(); //вызвали } #endif A100 2019.07.29 17:11 #25193 而且没有编译错误......。剩下要做的就是猜测结果。int f( int ) { return 1; } //... int f( int = 2 ); int f( int ) { return 3; } void OnStart() { Print( f( 0 )); } A100 2019.07.29 18:56 #25194 汇编的警告不明确 //lib.mqh //объявления void f(); //Warning: no #import declaration //lib.mq5 //реализация void f() {} //Test1.mq5 //собираем все вместе #include "lib.mqh" #include "lib.mq5" void OnStart() { f(); } 否则。 //Test2.mq5 void f(); void f() {} void OnStart() { f(); } 一切都很好--没有任何警告。这有什么区别呢? Alexey Navoykov 2019.07.29 19:14 #25195 A100: 编译过程中不明确的警告 //lib.mqh //объявления int f(); //Warning: no #import declaration //lib.mq5 //реализация void f() {} 我想是int类型 的打字错误吧? A100 2019.07.29 19:16 #25196 Alexey Navoykov: 我想这是int类型 的一个误印吧? 是的...到处都改成了无效--为了简单起见。 另一方面,其含义,但已经警告(*)不明确 //lib.h //объявления int g(); //Warning: no #import declaration //(*) void f(); //Warning: no #import declaration lib.h是一个一般的声明文件,而lib.mq5、lib2.mq5、lib3.mq5...文件的实现,这些文件在需要时通过#include的方式被包含。因此,在某个特定的构建中可能根本就没有int g()的实现,但晦涩的警告却在那里。 事实上,有数百个这样的警告,它们使你无法看到真正重要的警告。 Alexey Navoykov 2019.07.29 19:44 #25197 A100: 是的...到处都改成了无效--为了简单起见。 另一方面,其含义,但已经警告(*)不明确 lib.h是一个带有声明的普通文件,而lib.mq5, lib2.mq5, lib3.mq5...文件的实现,这些文件在需要时通过#include插入。因此,在某个特定的构建中可能根本就没有int g()的实现,但晦涩的警告却在那里。实际上有数百个,它们阻碍了真正重要的警告的视野。 请注意,即使你在同一个包容书中指定了一个实现,这个警告也会弹出来。 A100 2019.07.29 23:47 #25198 以下错误值得特别注意。 //lib1.mqh void f(); //Error: 'f' - function must have a body #include "lib.mq5" //... //lib2.mqh void f(); #include "lib.mq5" //... //lib.mq5 void f() {} #include "lib1.mqh" #include "lib2.mqh" void OnStart() { f(); } 基本上与这个 类似,但有许多文件,相当不明显,难以理解 fxsaber 2019.07.30 16:16 #25199 你能告诉我C++是如何运作的吗?struct A { int i; }; struct B : public A { string Str; }; void OnStart() { A a = {0}; B b; b = a; a = b; // OK } 我想知道是否要在我的代码中使用这个功能。如果它在C++中工作,我就会使用它。不,我不这么认为,因为它可能在下一个版本中被取消。 fxsaber 2019.07.30 16:18 #25200 没有初始化警告,这是一个错误吗?struct A { int i; }; struct B : public A { string Str; }; void OnStart() { A a; B b; // b = a; // possible use of uninitialized variable 'a' a = b; // OK } 1...251325142515251625172518251925202521252225232524252525262527...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
而且没有任何错误
编译时出错
否则。
这很好。有什么区别?
此外,C++的编译通常是一次完成的。
汇编的警告不明确
否则。
一切都很好--没有任何警告。这有什么区别呢?
编译过程中不明确的警告
我想这是int类型 的一个误印吧?
是的...到处都改成了无效--为了简单起见。
另一方面,其含义,但已经警告(*)不明确
lib.h是一个一般的声明文件,而lib.mq5、lib2.mq5、lib3.mq5...文件的实现,这些文件在需要时通过#include的方式被包含。因此,在某个特定的构建中可能根本就没有int g()的实现,但晦涩的警告却在那里。 事实上,有数百个这样的警告,它们使你无法看到真正重要的警告。是的...到处都改成了无效--为了简单起见。
另一方面,其含义,但已经警告(*)不明确
lib.h是一个带有声明的普通文件,而lib.mq5, lib2.mq5, lib3.mq5...文件的实现,这些文件在需要时通过#include插入。因此,在某个特定的构建中可能根本就没有int g()的实现,但晦涩的警告却在那里。实际上有数百个,它们阻碍了真正重要的警告的视野。请注意,即使你在同一个包容书中指定了一个实现,这个警告也会弹出来。
以下错误值得特别注意。
基本上与这个 类似,但有许多文件,相当不明显,难以理解