错误、漏洞、问题 - 页 1922 1...191519161917191819191920192119221923192419251926192719281929...3184 新评论 A100 2017.07.06 07:18 #19211 编译错误。#define MACRO( x ) ((x) + 2) struct A { A( int, int ) {} }; template<typename T> struct B { static A a; }; template<typename T> A B::a( MACRO(1), 2 ); //error: '(' - declaration without type 而没有模板<typename T>也很好......有什么区别? fxsaber 2017.07.06 08:52 #19212 A100:编译错误 而没有模板<typename T> - 好吧...有什么区别?这是宏中的额外括号。struct A { A(int) {} }; template<typename T> struct B { static A a; }; template<typename T> A B::a((0));如果你去掉它们,它就会被编译。 A100 2017.07.06 09:31 #19213 fxsaber:这是宏中的额外括号。如果你去掉它们,它就会被编译。 如果你删除了模板<typename T>,它也会被编译(即使有括号)。 Stanislav Korotky 2017.07.06 09:41 #19214 A100:.日志文件%AppData%\MetaQuotes\Terminal\...\MQL5\Logs\YYYYMMDD.log没有及时更新。更新只发生在:重启终端后或选择查看菜单后。如果你不重新启动或点击预览,相应的文件将是空的。它曾经工作得很好(甚至在MetaEditor中打开的YYYYMMDD.log文件在专家标签中显示行后,也会在几秒钟内自动更新),而且不需要执行额外的非明显的操作。我认为,如果日志大小较小的话,它一直都是这样的(论坛上有关于大小的信息,在这个时候缓存开始倾倒)。我总是不得不调用上下文菜单 来初始化刷新到磁盘。 A100 2017.07.06 09:58 #19215 Stanislav Korotky:IMHO,如果日志大小较小的话,一直都是这样的(论坛上有关于缓存重置开始时的大小的信息)。我总是不得不调用上下文菜单来初始化刷新到磁盘。我不太明白你的IMHO的意义。采取建立<=1596(32位)和检查(立即输出到.log文件[5-10秒]甚至一行)。我一分钟前检查了它。[哪个缓存?哪个总是?有关于某个地方的东西!?]这是关于专家标签和MQL5\Logs\文件夹的问题。 fxsaber 2017.07.06 10:22 #19216 A100: 如果你删除模板<typename T>,它也会被编译(即使有括号)。好吧,这是一个来自 "如果你删除所有的东西,它将被编译 "类别的短语。我说的是错误的原因,正是用模板。原因是编译器在解析带有额外括号的模板结构时的行为不正确。任何实施过这些模板的人都能立即看到问题所在以及问题发生的原因。 vitrix 2017.07.06 20:25 #19217 大家好,我有一个任务是在一个单独的窗口中显示两个指标iMACD_1 的颜色、信号线和iMACD_2,这里是部分代码。我已经做了索引 SetIndexBuffer(0,MACDBuffer_1,INDICATOR_DATA); SetIndexBuffer(1,buffer_color_histogram,INDICATOR_COLOR_INDEX); SetIndexBuffer(2,Signal_Line,INDICATOR_DATA); SetIndexBuffer(3,MACDBuffer_2,INDICATOR_DATA);有指向性的指标 handle_1=iMACD(name,period,fast_ema_period,slow_ema_period,signal_period,applied_price); handle_2=iMACD(name_,period_,fast_ema_period_,slow_ema_period_,signal_period_,applied_price_);(然后是疑惑))理论上,它应该可以显示指标 if(CopyBuffer(handle_1,0,0,values_to_copy,MACDBuffer_1)<0)return(0); if(CopyBuffer(handle_1,1,0,values_to_copy,Signal_Line)<0) return(0); if(CopyBuffer(handle_2,3,0,values_to_copy,MACDBuffer_2)<0) return(0);它不起作用!但它的工作原理是这样的 if(CopyBuffer(handle_1,0,0,values_to_copy,MACDBuffer_1)<0)return(0); if(CopyBuffer(handle_1,1,0,values_to_copy,Signal_Line)<0) return(0); if(CopyBuffer(handle_2,0,0,values_to_copy,MACDBuffer_2)<0) return(0);它可以工作,我不知道指标缓冲区的数量有什么问题。提前感谢 !!! A100 2017.07.06 23:29 #19218 编译错误。template<typename T> struct A { static int a1; static int a2; }; template<typename T> int A::a1; template<typename T> int A::a2; struct B : A<int> { void f1() { Print( A<int>::a1 ); } //unresolved static variable 'A<int>::a1' void f2() { Print( a2 ); } //unresolved static variable 'B::a2' };而没有模板<typename T> - 很好 Vladimir Karputov 2017.07.07 03:56 #19219 vitrix:大家好,我有一个任务是在一个单独的窗口中显示两个指标iMACD_1 的颜色、信号线和iMACD_2,这里是部分代码。我已经做了索引有指向性的指标(然后是疑惑))理论上,它应该可以显示指标它不起作用!但它的工作原理是这样的它可以工作,我不知道指标缓冲区的数量有什么问题。提前感谢 !!!请下次记住如何在帖子中插入代码(你的帖子我已改正)。第二:iMACD指标只有两个缓冲区:"0" - MAIN_LINE,"1" - SIGNAL_LINE。因此,要获得指标值将是这样的。 CopyBuffer(handle_iMACD,MAIN_LINE или SIGNAL_LINE,index - номер буфера с которого начинаем копирование,values_to_copy,buffer) fxsaber 2017.07.07 05:37 #19220 A100:编译错误。而没有模板<typename T> - 很好template<typename T> struct A { static int a1; static int a2; }; template<typename T> int A::a1 = 0; template<typename T> int A::a2 = 0; struct B : A<int> { void f1() { Print( A<int>::a1 ); } //unresolved static variable 'A<int>::a1' void f2() { Print( a2 ); } //unresolved static variable 'B::a2' }; 1...191519161917191819191920192119221923192419251926192719281929...3184 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
编译错误。
而没有模板<typename T>也很好......有什么区别?编译错误
而没有模板<typename T> - 好吧...有什么区别?这是宏中的额外括号。
如果你去掉它们,它就会被编译。
这是宏中的额外括号。
如果你去掉它们,它就会被编译。
.日志文件%AppData%\MetaQuotes\Terminal\...\MQL5\Logs\YYYYMMDD.log没有及时更新。
更新只发生在:重启终端后或选择查看菜单后。如果你不重新启动或点击预览,相应的文件将是空的。
它曾经工作得很好(甚至在MetaEditor中打开的YYYYMMDD.log文件在专家标签中显示行后,也会在几秒钟内自动更新),而且不需要执行额外的非明显的操作。
我认为,如果日志大小较小的话,它一直都是这样的(论坛上有关于大小的信息,在这个时候缓存开始倾倒)。我总是不得不调用上下文菜单 来初始化刷新到磁盘。
IMHO,如果日志大小较小的话,一直都是这样的(论坛上有关于缓存重置开始时的大小的信息)。我总是不得不调用上下文菜单来初始化刷新到磁盘。
我不太明白你的IMHO的意义。采取建立<=1596(32位)和检查(立即输出到.log文件[5-10秒]甚至一行)。我一分钟前检查了它。
[哪个缓存?哪个总是?有关于某个地方的东西!?]
这是关于专家标签和MQL5\Logs\文件夹的问题。
如果你删除模板<typename T>,它也会被编译(即使有括号)。
好吧,这是一个来自 "如果你删除所有的东西,它将被编译 "类别的短语。
我说的是错误的原因,正是用模板。原因是编译器在解析带有额外括号的模板结构时的行为不正确。任何实施过这些模板的人都能立即看到问题所在以及问题发生的原因。
大家好,我有一个任务是在一个单独的窗口中显示两个指标iMACD_1 的颜色、信号线和iMACD_2,这里是部分代码。
我已经做了索引
有指向性的指标
(然后是疑惑))
理论上,它应该可以显示指标
它不起作用!
但它的工作原理是这样的
它可以工作,我不知道指标缓冲区的数量有什么问题。提前感谢 !!!
编译错误。
而没有模板<typename T> - 很好
大家好,我有一个任务是在一个单独的窗口中显示两个指标iMACD_1 的颜色、信号线和iMACD_2,这里是部分代码。
我已经做了索引
有指向性的指标
(然后是疑惑))
理论上,它应该可以显示指标
它不起作用!
但它的工作原理是这样的
它可以工作,我不知道指标缓冲区的数量有什么问题。提前感谢 !!!
请下次记住如何在帖子中插入代码(你的帖子我已改正)。
第二:iMACD指标只有两个缓冲区:"0" - MAIN_LINE,"1" - SIGNAL_LINE。因此,要获得指标值将是这样的。
编译错误。
而没有模板<typename T> - 很好