错误、漏洞、问题 - 页 1119 1...111211131114111511161117111811191120112111221123112411251126...3184 新评论 A100 2014.04.08 23:58 #11181 编译错误: 编译器认为我在通过引用传递一个指针class A { }; void f1( A* a ) {} void f2( int a ) {} void OnStart() { A* const a1 = new A(); f1( a1 ); // ошибка компиляции: constant variable cannot be as reference const int a2 = 1; f2( a2 ); //все нормально } 如果我写f1( A* const a ),一切都编译得很好,但我不写f2( const int a ),在f2( int a )的情况下,编译器会得到正确的结果 по сути f1( A* a ) отличается от f1( A* const a ) тем же, чем f2( int a ) отличается от f2( const int a ) 那么f2( a2 )中也应该有一个错误。 Alexander 2014.04.09 07:08 #11182 Lone_Irbis:我不想在这里发布整个代码和.集,但我可以把它发送到某个地方。 谢谢你!让我们试着重现它。该代码可以被发送到servicedesk(在所有检查之后,它将被保证删除)。 A100 2014.04.09 12:13 #11183 不能删除一个恒定的A*指针class A { }; void OnStart() { const A *a = new A; delete( a ); //ошибка компиляции: constant cannot be modified }乍一看,这似乎是合乎逻辑的--删除调用析构函数~A(),而且它不可能是常量(***)但这样一来,原则上就不可能删除以下例子中的对象了void f() { const A a; }因为在退出f()时,不能是常量的析构器仍然被调用,因此(***)原则不起作用。此外,C++编译器不会阻止delete( a ),即使参数被声明为const A *(析构器不能被声明为const,因为它对任何对象,包括非const,都会被调用)。 [删除] 2014.04.09 14:05 #11184 不再算作帖子( Sergey Golubev 2014.04.09 14:23 #11185 GriFFon4ik: 不再算作帖子( 是的,不再是了... Vladimir Karputov 2014.04.09 14:30 #11186 GriFFon4ik: 不再算作帖子( 不管怎么样。 [删除] 2014.04.09 14:40 #11187 barabashkakvn: 哦,好吧。 悲伤 :-( Sergey Golubev 2014.04.09 14:59 #11188 我检查了帖子,它没有增加。也许有一些巧妙的改进配方...... 关于交易、自动交易系统和测试交易策略的论坛 有趣和幽默 newdigital, 2014.04.09 14:23 应该禁止思考--这很有攻击性! 这些线条被编织成一首诗。 海水舔舐着干涸的土地。 孩子们在便盆里拉屎。 ? 成年人在他们的灵魂中拉屎 ? 无论评级发生了什么变化。 [删除] 2014.04.09 17:37 #11189 newdigital:我检查了我在这里的帖子--它没有增加。也许有一些巧妙的改进配方......无论评级发生了什么变化。 它正在工作),但没有( [删除] 2014.04.09 19:17 #11190 停止计算论坛帖子的评分 (Bugs , website mql5.com , closed , initiative: 2014.04.09 14:07 , # 993171停止计算论坛帖子的评分 (支持小组2014.04.09 15:27你为什么会这样想?GriFFon4ik2014.04.09 17:38嗯,以前是书面评论,评级立即+1,但现在没有 "立即+1 "了。支持小组2014.04.09 17:38现在,评级将定期分配,有一个延迟 Errors, bugs, questions ASCTrend system PREDICT time period 1...111211131114111511161117111811191120112111221123112411251126...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
编译错误: 编译器认为我在通过引用传递一个指针
如果我写f1( A* const a ),一切都编译得很好,但我不写f2( const int a ),在f2( int a )的情况下,编译器会得到正确的结果
那么f2( a2 )中也应该有一个错误。我不想在这里发布整个代码和.集,但我可以把它发送到某个地方。
不能删除一个恒定的A*指针
乍一看,这似乎是合乎逻辑的--删除调用析构函数~A(),而且它不可能是常量(***)
但这样一来,原则上就不可能删除以下例子中的对象了
void f() { const A a; }因为在退出f()时,不能是常量的析构器仍然被调用,因此(***)原则不起作用。
此外,C++编译器不会阻止delete( a ),即使参数被声明为const A *(析构器不能被声明为const,因为它对任何对象,包括非const,都会被调用)。
不再算作帖子(
不再算作帖子(
哦,好吧。
我检查了帖子,它没有增加。也许有一些巧妙的改进配方......
关于交易、自动交易系统和测试交易策略的论坛
有趣和幽默
newdigital, 2014.04.09 14:23
应该禁止思考--这很有攻击性!
这些线条被编织成一首诗。
海水舔舐着干涸的土地。
孩子们在便盆里拉屎。
? 成年人在他们的灵魂中拉屎 ?
我检查了我在这里的帖子--它没有增加。也许有一些巧妙的改进配方......
停止计算论坛帖子的评分 (