错误、漏洞、问题 - 页 2417 1...241024112412241324142415241624172418241924202421242224232424...3184 新评论 Andrey Pogoreltsev 2019.03.28 06:46 #24161 Alexey Navoykov:我知道它不能编译。 我说的是语法检查(在ME中也叫 "编译"),因为我甚至在以前的帖子中用括号指明了它。 如果你在C++编译器中也运行语法检查(通常通过命令行),它就会像个宝贝一样发誓。你看,如果你不指定。 B b;C++可以完美地编译这段代码。所以语法是正确的。问题从对象创建 层开始,因为那是类对象将被分配的地方。 试想一下,你永远不会检查一个模板,看它是否可以用在页眉上。在这种情况下,编译器应该怎么做?假设你需要为一个结构实现std:lower,而*.h中没有实现。编译器在检查阶段也不应该抱怨。 你能说明你是如何从命令行中检查*.h的语法来检查这段代码的吗?它变得很有趣) Alexey Navoykov 2019.03.28 08:55 #24162 Andrey Pogoreltsev:你看,如果你不指定。 C++可以完美地编译这段代码。那么语法是正确的。 有趣的逻辑 ) 而如果你把所有的代码都完全删除,那么语法就更加正确了?)我引用了一个具体的代码。 我并没有说B类特别不正确。 它很可能被用来调用静态方法,等等。 试想一下,一个你不会检查的模板在标题中使用。在这种情况下,编译器应该怎么做? 没有必要用概念来替代。 模板只有在用具体类型展开时才会被检查,这是可以理解的。 你能说明你是如何从命令行中检查*.h的语法来检查这段代码的吗?它变得有趣了) 我不能在这里给出任何提示,因为我没有费心去做这样的手鼓,而是为VS写了一个宏,用来编译头文件。 为了这个目的,它把当前的文档模式飞快地切换到cpp,编译它,然后返回。 简单而有品位。 我不明白为什么在studio中根本就没有正常的选项来检查头的语法。我使用的是一个相当老的版本,也许已经有了。 TheXpert 2019.03.28 09:43 #24163 Alexey Navoykov:我不明白为什么在studio中根本就没有正常的选项来检查头的语法。 Ctrl+F7 ,这个组合可能至少从2008年开始就有了--编译一个单独的文件 Alexey Navoykov 2019.03.28 09:47 #24164 TheXpert: Ctrl+F7,这个组合可能至少从Studio 2008开始就存在了--编译一个单独的文件 我说的是头文件,而这个组合指的是cpp。至少,在我2010年的工作室里是这样。 Igor Zakharov 2019.03.28 10:23 #24165 我在发帖前犹豫了很久,仔细检查了自己的构建,但测试器还是有问题......。 测试实际上是在开始时就停止了。 在不改变任何东西的情况下,我第二次按 "开始",就到了结尾(在它中断的地方有一个小的停顿)。 又做了几个办法--结果是严格交替的(一个接一个,偶数/多数)。直到 "悬崖 "处,平衡图是相似的。 同样,我没有改变任何东西,只是点击 "开始"。 这很可能是它增加一个角色的地方(为什么不是自测试开始以来的所有5个?) 抛开实际的内存可用性问题(根据任务管理器,1.2-1.4GB可用,即与报告相符),不可能是同一个测试需要不同的内存量来运行?如果报告说400Mb足够了,你可以在1.2Gb上运行三个这样的测试... 补充数据:对5个符号进行测试,按条形图开盘,2004年上半年...今天。本体有7个500个元素的双数组和一个小的数组结构(为每个符号存储数据,即在本例中为5 x 13),大小在初始化时设置,不再改变,也就是说,没有什么可以消耗内存。代码是程序化的,简单的,小的,没有递归和包含库。 它对四个符号起作用,但对6-7-8的效果与对5个符号的效果相同--只是一次。在同一时间,在添加一个新的字符后的第一次 - 总是工作,下一次 - 没有,然后它再次工作,等等。 有一种怀疑是内存没有被及时释放,只是出现了与缺乏内存有关的错误。 共有3个问题。 如果设置或代码没有变化, 测试只运行一次(严格)。有足够的空闲内存进行几次测试(如果成功通过测试后的信息可以相信的话),但出现内存不足的错误(即使尝试)。("成功 "时使用了400个,错误发生时有1200个空闲)如果有历史记录,一些字符在测试过程中被连接起来(你可以在同步日志上看到)。在所有符号的每个新条形上发出轮询信号(循环中)。 TheXpert 2019.03.28 10:48 #24166 Alexey Navoykov: 它是关于标题的,而这个组合指的是cpp。至少在我的2010年工作室是这样。 是的(而且你的方法似乎比为头文件制作一个空的cpp更方便。 [删除] 2019.03.28 14:22 #24167 为什么会被禁止呢? void fn(const int&) {} void start() { fn(5); // parameter passed as reference, variable expected } TheXpert 2019.03.28 14:38 #24168 Vict:为什么会被禁止呢? 为什么--我不知道,你必须问开发团队。 Slava 2019.03.28 14:42 #24169 TheXpert: 这是自古以来的传统。只按值计算的字词。为什么--我不知道,你必须问开发者。通过引用传递参数 意味着有一个变量分布在内存中。 常量不存储在任何地方,而是直接使用。 [删除] 2019.03.28 14:49 #24170 TheXpert: 我不知道为什么,我得问问开发者。为了取悦受虐狂。我对标准的bilio没有印象,所以我决定写一个类似的矢量,但由于有大量的 "技巧",它变成了另一个不发达的地方。 void push_back(const T &value); 1...241024112412241324142415241624172418241924202421242224232424...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我知道它不能编译。 我说的是语法检查(在ME中也叫 "编译"),因为我甚至在以前的帖子中用括号指明了它。 如果你在C++编译器中也运行语法检查(通常通过命令行),它就会像个宝贝一样发誓。
你看,如果你不指定。
C++可以完美地编译这段代码。所以语法是正确的。问题从对象创建 层开始,因为那是类对象将被分配的地方。
试想一下,你永远不会检查一个模板,看它是否可以用在页眉上。在这种情况下,编译器应该怎么做?假设你需要为一个结构实现std:lower,而*.h中没有实现。编译器在检查阶段也不应该抱怨。
你能说明你是如何从命令行中检查*.h的语法来检查这段代码的吗?它变得很有趣)
你看,如果你不指定。
C++可以完美地编译这段代码。那么语法是正确的。
有趣的逻辑 ) 而如果你把所有的代码都完全删除,那么语法就更加正确了?)我引用了一个具体的代码。 我并没有说B类特别不正确。 它很可能被用来调用静态方法,等等。
试想一下,一个你不会检查的模板在标题中使用。在这种情况下,编译器应该怎么做?
没有必要用概念来替代。 模板只有在用具体类型展开时才会被检查,这是可以理解的。
你能说明你是如何从命令行中检查*.h的语法来检查这段代码的吗?它变得有趣了)
我不能在这里给出任何提示,因为我没有费心去做这样的手鼓,而是为VS写了一个宏,用来编译头文件。 为了这个目的,它把当前的文档模式飞快地切换到cpp,编译它,然后返回。 简单而有品位。
我不明白为什么在studio中根本就没有正常的选项来检查头的语法。我使用的是一个相当老的版本,也许已经有了。
我不明白为什么在studio中根本就没有正常的选项来检查头的语法。
Ctrl+F7,这个组合可能至少从Studio 2008开始就存在了--编译一个单独的文件
我在发帖前犹豫了很久,仔细检查了自己的构建,但测试器还是有问题......。
测试实际上是在开始时就停止了。
在不改变任何东西的情况下,我第二次按 "开始",就到了结尾(在它中断的地方有一个小的停顿)。
又做了几个办法--结果是严格交替的(一个接一个,偶数/多数)。直到 "悬崖 "处,平衡图是相似的。 同样,我没有改变任何东西,只是点击 "开始"。
这很可能是它增加一个角色的地方(为什么不是自测试开始以来的所有5个?)
抛开实际的内存可用性问题(根据任务管理器,1.2-1.4GB可用,即与报告相符),不可能是同一个测试需要不同的内存量来运行?如果报告说400Mb足够了,你可以在1.2Gb上运行三个这样的测试...
补充数据:对5个符号进行测试,按条形图开盘,2004年上半年...今天。本体有7个500个元素的双数组和一个小的数组结构(为每个符号存储数据,即在本例中为5 x 13),大小在初始化时设置,不再改变,也就是说,没有什么可以消耗内存。代码是程序化的,简单的,小的,没有递归和包含库。
它对四个符号起作用,但对6-7-8的效果与对5个符号的效果相同--只是一次。在同一时间,在添加一个新的字符后的第一次 - 总是工作,下一次 - 没有,然后它再次工作,等等。
有一种怀疑是内存没有被及时释放,只是出现了与缺乏内存有关的错误。
共有3个问题。
它是关于标题的,而这个组合指的是cpp。至少在我的2010年工作室是这样。
为什么会被禁止呢?
为什么会被禁止呢?
这是自古以来的传统。只按值计算的字词。为什么--我不知道,你必须问开发者。
通过引用传递参数 意味着有一个变量分布在内存中。
常量不存储在任何地方,而是直接使用。
我不知道为什么,我得问问开发者。
为了取悦受虐狂。我对标准的bilio没有印象,所以我决定写一个类似的矢量,但由于有大量的 "技巧",它变成了另一个不发达的地方。