错误、漏洞、问题 - 页 246 1...239240241242243244245246247248249250251252253...3184 新评论 Yedelkin 2010.12.24 18:04 #2451 AlexSTAL: 这是一个类方法 https://www.mql5.com/ru/docs/standardlibrary/technicalindicators/cindicator #include<Indicators\Indicator.mqh>。 我明白了。显然,denkir 没有声明#include<Indicators\Indicator.mqh>。 但在《参考资料》中搜索,仍无法找到这一功能。 Igor Makanu 2010.12.24 18:05 #2452 Urain:那么,为什么编译器要发誓,这个调用的歧义是什么?显然int 到long或反之亦然的类型 被转换,可能你只能按参数的数量或按未被自动转换的类型重新加载函数。SZZ:只对long工作,你作为参数传递的int类型将自动转换为long。 Mykola Demko 2010.12.24 18:12 #2453 IgorM:显然int 到long或反之亦然的类型 被转换,可能你只能按参数的数量或按未被自动转换的类型重新加载函数。SZY:只对long工作,你作为参数传递的int类型将自动转换为long。同一首歌。class CA { public: void set(long i,long j,long n){Print("перегрузка long");}; void set(long i,long j,int n){Print("перегрузка int");}; }; void OnStart() { //--- CA a; int Int=3; long Long=4; a.set(1,2,Int); a.set(1,2,Long); }关键是要让所有类型的函数重载都没有例外。而如果一个类型不对应i和j的代码值,它就会产生一个警告。 Ilyas 2010.12.24 18:16 #2454 Urain:亲爱的开发者,请告诉我什么是对重载函数的模棱两可的调用(这就是编译器在发誓的内容)。'set' - 对重载函数的模糊调用是的,有一个错误,我们将在构建发布后修复它。现在你可以用class CA { public: void set(int i,int j,long n){Print("перегрузка long");}; void set(int i,int j,int n){Print("перегрузка int");}; }; void OnStart() { //--- CA a; int Int=3; long Long=4; a.set((int)1,(int)2,Int); a.set((int)1,(int)2,Long); } Igor Makanu 2010.12.24 18:17 #2455 Urain:不仅是int和long的重载没有问题,任何类型的重载问题都是一样的。这只是编译器处理显式参数设置的方式不同而已。对不起,我已经两个星期没有运行MT5了,因为我看到在过去三次更新后有很多愤怒的帖子,我甚至不想去寻找是否编译器不工作,或者也许我有错误的构建,而你有像这样。class CA { public: void set(int i,int j,long n){Print("перегрузка long");}; void set(int i,int j,double x){Print("перегрузка double");}; }; void OnStart() { //--- CA a; int Int=3; double doubl=4; a.set(1,2,Int); a.set(1,2,doubl); }它的作用,建立362。 Mykola Demko 2010.12.24 18:21 #2456 mql5:是的,这是个错误,我们会在发布后修复它。在此期间,你可以使用这个a.set((int)1,(int)2,Long); 谢谢你。我们会牢记这一点。 Aleksandr Chugunov 2010.12.24 18:40 #2457 Yedelkin: 我明白了。显然,denkir 没有声明#include<Indicators\Indicator.mqh>。 但在《手册》中搜索,仍然没有找到这一功能。这还不够!这是一个外部类的方法!!! Yedelkin 2010.12.24 18:47 #2458 AlexSTAL: 这还不够! 这是一个外部类方法!!! 好吧,我在这里不是专家,我更喜欢用手写一切。能否请你告诉denkir 该怎么做,一步一步来。 Denis Kirichenko 2010.12.24 19:06 #2459 可能需要增加这样一个东西。#include <Arrays\Array.mqh> #include <Arrays\ArrayObj.mqh> 但我不需要 上述类别的对象。我需要的是一个简单的函数,用于我描述的基础类型字符串。 Yedelkin 2010.12.24 19:13 #2460 denkir: 可能需要增加这样一个东西。 但我不需要 上述类别的对象。我需要一个简单的函数来处理基本类型的字符串,这是我所描述的。 但要进入类的方法,你必须声明相应的类,在我们的例子中,它是CIndicator 类(MQL5参考/ 标准库/ 用于处理指标的类/ 基本类/ CIndicator)。 难道不是这样吗? 1...239240241242243244245246247248249250251252253...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这是一个类方法
https://www.mql5.com/ru/docs/standardlibrary/technicalindicators/cindicator
#include<Indicators\Indicator.mqh>。
我明白了。显然,denkir 没有声明#include<Indicators\Indicator.mqh>。
但在《参考资料》中搜索,仍无法找到这一功能。
那么,为什么编译器要发誓,这个调用的歧义是什么?
显然int 到long或反之亦然的类型 被转换,可能你只能按参数的数量或按未被自动转换的类型重新加载函数。
SZZ:只对long工作,你作为参数传递的int类型将自动转换为long。
显然int 到long或反之亦然的类型 被转换,可能你只能按参数的数量或按未被自动转换的类型重新加载函数。
SZY:只对long工作,你作为参数传递的int类型将自动转换为long。
同一首歌。
关键是要让所有类型的函数重载都没有例外。
而如果一个类型不对应i和j的代码值,它就会产生一个警告。
亲爱的开发者,请告诉我什么是对重载函数的模棱两可的调用(这就是编译器在发誓的内容)。
'set' - 对重载函数的模糊调用
是的,有一个错误,我们将在构建发布后修复它。
现在你可以用
不仅是int和long的重载没有问题,任何类型的重载问题都是一样的。
这只是编译器处理显式参数设置的方式不同而已。
对不起,我已经两个星期没有运行MT5了,因为我看到在过去三次更新后有很多愤怒的帖子,我甚至不想去寻找是否编译器不工作,或者也许我有错误的构建,而你有
像这样。
它的作用,建立362。
是的,这是个错误,我们会在发布后修复它。
在此期间,你可以使用这个
我明白了。显然,denkir 没有声明#include<Indicators\Indicator.mqh>。
但在《手册》中搜索,仍然没有找到这一功能。
这还不够!
这是一个外部类的方法!!!
这还不够!
这是一个外部类方法!!!
可能需要增加这样一个东西。
但我不需要 上述类别的对象。我需要的是一个简单的函数,用于我描述的基础类型字符串。
可能需要增加这样一个东西。
但我不需要 上述类别的对象。我需要一个简单的函数来处理基本类型的字符串,这是我所描述的。
但要进入类的方法,你必须声明相应的类,在我们的例子中,它是CIndicator 类(MQL5参考/ 标准库/ 用于处理指标的类/ 基本类/ CIndicator)。 难道不是这样吗?