错误、漏洞、问题 - 页 1204

 

没有任何东西被打印出来

string g( string str = __FUNCTION__ ) { return ( str ); }
void OnStart()
{
        Print( g() );
}

为什么不呢?

 
marketeer:
总的来说,持续的调查已经产生了这些结果。但对于俄罗斯差价合约,它是以黑色显示的,显示的是 "交易:关闭"(应该再次指出的是,此刻的时间是交易和符号的刻度)。由此我得出结论,经纪商有几个层次的禁止交易,其中只有一些(甚至只有一个)是用灰色标记的,其余的都和活跃的符号堆在一起,因为它们是用黑色显示的。

交易类型中的 "仅关闭 "是指仅允许关闭现有头寸。因此,它被显示为活性黑色。

操作模式是在交易服务器上设置的。

 
Renat:

交易类型中的 "仅关闭 "是指仅允许关闭现有头寸。这就是为什么它被显示为黑色的活动。

操作模式是在交易服务器上设置的。

它没有说 "仅关闭",而是说 "关闭"。这是一个错误,还是其他一些细微差别仍然不清楚?
 
marketeer:
它没有说 "仅关闭",而是说 "关闭"。这是一个错误,还是有其他的细微差别仍然不清楚?
这里的关闭是指仅关闭。它只是拼写得很短。
 
class object_line : public CObject
{
public:
   static color line_color_befor;
};
static extern color object_line::line_color_befor = clrGreen;

void OnChartEvent(const int id,                            
                  const long& lparam,   
                  const double& dparam, 
                  const string& sparam){
   if (id == CHARTEVENT_OBJECT_CREATE)   
      Alert(object_line::line_color_befor);   
} 

1.汇编者

2.当一个对象被创建 时,警报是clrBlack

3.在4.670版本上进行了检查

 
A100:

没有任何东西被打印出来

为什么不呢?

谢谢你的留言。
你不能在函数体之外使用 __FUNCTION__ 和 __FUNCSIG__ 宏。

增加了新的编译错误: 377 "宏不能出现在函数体之外"。
 
ALXIMIKS:

1.汇编者

2.当一个对象被创建 时,警报是clrBlack

3.在4.670版本上进行了检查

谢谢你的留言。编译器中的错误已修复,你的代码在编译时将出现错误。
'line_color_befor' - redefinition; different type modifiers
使用以下代码来解决这个错误。
#include <object.mqh>

class object_line : public CObject
{
public:
   static color line_color_befor;
};

color input line_color_param=clrGreen;//object_line::line_color_befor

static color object_line::line_color_befor = line_color_param;

void OnChartEvent(const int id,                            
                  const long& lparam,   
                  const double& dparam, 
                  const string& sparam){
   if (id == CHARTEVENT_OBJECT_CREATE)   
      Alert(object_line::line_color_befor);   
} 
 
A100:

执行过程中的错误:指针的铸造不正确(构建977,但之前也时常发生)。

如果你移动了一些东西(例如,交换声明#import)或制作2个文件而不是3个,或删除h()调用--那么就会出现其他错误而不是指定的错误。

如果你重新安排上面的代码,它最终会调用R::y而不是L::y

在一个更复杂的版本中,一些来自模块的普通函数被调用到(!)静态构造函数本身之前(就像在上面的例子中f()被调用到X::X之前,而后者又被正确地调用到OnStart之前)。我将尝试举出一个例子,但有巨大的文件。但有时它能正常工作,所以错误不在我,因为对象创建的顺序 是由编译器本身定义的,我不能改变它。

谢谢你的帖子 有一个问题,正在调查中。

UPD: 修正。
 
mql5:
谢谢你的帖子 有一个问题,我们正在解决。

UPD: 修正。

我在那里犯了一个错误https://www.mql5.com/ru/forum/1111/page1221#comment_1070267, 我没有说明函数是虚拟的--如果现在声明R和L是虚拟的。

class R { public:
        virtual void y( A* a ) const { PF       ((B *)a).g( 1 ); }
};
class L : public R { public:
        virtual void y( A* a )       { PF       ((B *)a).g( 2 ); }
};
那么L::y被调用,R::y应该被调用,因为它们是不同的--(不同的是常数,而且指针是指向R的)。
 

所有经纪人的终端都停止工作了,包括我从这个网站下载的那个...

重启没有用,重启和重装也没有用,以前一切都很好,我没有在电脑上安装任何东西,在终端也没有安装任何东西。只在市场上购物。