在MQL5中一起学习和写作 - 页 33 1...262728293031323334353637383940...46 新评论 TheXpert 2011.05.19 12:07 #321 我们需要将初始化移到初始化列表中。只有静态积分常量可以在声明中被初始化(至少在C++中是这样,在MQL5中我还不知道 :) ) TheXpert 2011.05.19 12:08 #322 还有一个问题,就是最后一个问题。字符串的""和NULL不等同的原因是什么? Ilyas 2011.05.19 12:10 #323 Interesting:说到鸟类。 那么编译器将如何回答这个问题呢?并将回答以下问题 '=' - 非法使用赋值 编译员没有被吓倒 - '=' - 非法使用赋值。我有个问题,如果程序员(这里是指我)在使用变量之前不对其进行初始化(他/她按照编译器的要求,在构造函数中省略了这个时刻),会发生什么?在构造函数中初始化结构/类的成员的正确方法。//Struct StrMQL4_Deal struct StrMQL4_Deal { //----------------------------------------------------------------------------// double TP; double SL; //----------------------------------------------------------------------------// StrMQL4_Deal():TP(0),SL(0) { } StrMQL4_Deal(double tp,double sl):TP(tp),SL(sl) { } }; Ilyas 2011.05.19 12:13 #324 TheXpert: 还有一个问题,就是最后一个问题。字符串的""和NULL不等同的原因是什么? NULL表示字符串未被分配,""表示字符串已被分配并且有一个值。 [删除] 2011.05.19 12:19 #325 mql5:在构造函数中正确初始化结构/类成员。 是的,我在一年多以前就意识到了这一点,至少从2010年开始我就一直在这样做。 TheXpert 2011.05.19 12:25 #326 Interesting: 是的,我一年多前就想明白了,至少从2010年开始我就一直这样做了。你不可能从2010年开始就做得正确,因为初始化列表是最近才引入的 :) 。mql5:NULL表示字符串未被分配,""表示字符串已被分配并且有一个值。 好吧,我换个方式说吧。向用户输入 "未分发 "的字符串状态有什么意义?它可以用在一些有用的地方,还是只是一个拐杖? --- 2011.05.19 12:28 #327 TheXpert: 你不可能从2010年开始就做得很好,因为初始化列表是最近才推出的 :) 。 是指在构造函数中。 [删除] 2011.05.19 12:42 #328 TheXpert:你不可能从2010年开始就做对了,因为初始化列表是最近才引入的:) 。我的意思是在类的构造函数 和声明中进行初始化,因为//----------------------------------------------------------------------------// double TP; double SL; //----------------------------------------------------------------------------// 我记不清楚了,但我是在2010年初(第一季度,我也说不清楚;而且找资料来源也很繁琐)开始接触物件的。在此之前,我一直忙于图书馆和研究MQL5的基础知识(或者说,处理MQL5迁移问题)。 Yedelkin 2011.05.19 13:34 #329 Rosh: 对数组中不同类型的数据做一个重载函数。 哎呀,知道了。因此,不存在普遍的方法。这个问题的出现是因为重载的结果是相同的函数只有一个(!)区别--在函数头部,当你必须指定一个数组类型时。不太整齐,但我能做什么呢,我就这样留着吧。我希望有一个出路,就像《参考手册》中的那样。 Yedelkin 2011.05.19 13:50 #330 像这样一个简单的脚本给我带来了奇怪的结果void OnStart() { for(uchar u=120;u<136;u++) { switch(u>254) { case true: Print(u,">254 - true"); break; case false: Print(u,">254 - false"); break; } } } 也许有人能解释一下原因是什么?当数字254被明确地转换为Uchar时,它就会如期工作。 1...262728293031323334353637383940...46 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我们需要将初始化移到初始化列表中。
只有静态积分常量可以在声明中被初始化(至少在C++中是这样,在MQL5中我还不知道 :) )
说到鸟类。
那么编译器将如何回答这个问题呢?并将回答以下问题 '=' - 非法使用赋值
编译员没有被吓倒 - '=' - 非法使用赋值。
我有个问题,如果程序员(这里是指我)在使用变量之前不对其进行初始化(他/她按照编译器的要求,在构造函数中省略了这个时刻),会发生什么?
在构造函数中初始化结构/类的成员的正确方法。
还有一个问题,就是最后一个问题。字符串的""和NULL不等同的原因是什么?
在构造函数中正确初始化结构/类成员。
是的,我一年多前就想明白了,至少从2010年开始我就一直这样做了。
你不可能从2010年开始就做得正确,因为初始化列表是最近才引入的 :) 。
NULL表示字符串未被分配,""表示字符串已被分配并且有一个值。
你不可能从2010年开始就做得很好,因为初始化列表是最近才推出的 :) 。
你不可能从2010年开始就做对了,因为初始化列表是最近才引入的:) 。
我的意思是在类的构造函数 和声明中进行初始化,因为
我记不清楚了,但我是在2010年初(第一季度,我也说不清楚;而且找资料来源也很繁琐)开始接触物件的。在此之前,我一直忙于图书馆和研究MQL5的基础知识(或者说,处理MQL5迁移问题)。对数组中不同类型的数据做一个重载函数。
像这样一个简单的脚本给我带来了奇怪的结果
也许有人能解释一下原因是什么?当数字254被明确地转换为Uchar时,它就会如期工作。