错误、漏洞、问题 - 页 2065

 
滑稽的情况
class B;

class A
{
protected:  
  int i;

public:  
  void operator =( const B* Value )
  {    
    this.i = Value.i;       // 'i' - protected member access error
    
    // А так можно!
    this.i = ((A*)Value).i; // и нет ошибки: cannot convert from const pointer to nonconst pointer    
  }
};

class B : public A {};


我以为这两种情况下的情况是一样的。但是没有!

 
你只能在A类里面做这个。在我看来,听起来不错。
 

fxsaber:

你如何从一个文件的句柄知道它的名字?

在我的记忆中,没有办法
 
Комбинатор:
你只能在A类里面做这个。对我来说,似乎很好。

错误

    this.i = Value.i;       // 'i' - protected member access error

已被修复,请等待新版本。

 

ошибка

已被修复,请等待新版本。

他们最清楚。错误就是错误
 

MetaEditor在文件名中添加一个点

操作的顺序。

  • 在资源管理器中创建一个Test.txt文本文档
  • 通过文件/打开在MetaEditor中打开它
  • 然后选择文件/另存为...


因此,文件名将是Test2.txt,而不是Test2.txt。

记事本,在其他条件相同的情况下,不会在文件名上添加额外的点。
 

fxsaber:

已被修复,请等待新版本。

我们需要看看它到底是如何被修复的,因为在类似的情况下,微软的编译器出于某种原因要求把方法的实现(在这种情况下是操作符=)放在类之外

https://www.mql5.com/ru/forum/1111/page2001#comment_5679732

https://www.mql5.com/ru/forum/1111/page2001#comment_5680465

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2017.08.29
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 

这似乎是该语言的错误行为,因为它限制了可能性。

struct A {};

class B
{
public:
  const A a;
  
  B( const A &in ) : a(in) // 'a' - constructor not defined
  {
  }
};


我需要将一个常量字段定义为一个结构。我以为复制操作符会起作用,但编译器想用构造器代替,因为语法相似。但这是错误的。

 
不正确的错误信息
struct A
{
  const int i;
};

void OnStart()
{
  A a1, a2;
  
  a1 = a2; // '=' - not allowed for objects with protected members or inheritance
}
 

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

fxsaber, 2017.05.19 22:35

TimeTradeServer 可以返回各种胡言乱语。例如,一个小于TimeCurrent的值。这使其实际应用完全无效。

如果我的理解正确的话,TimeTradeServer必须在接收到TimeCurrent后计算出经过的时间,并加上这个差值,有点像模拟未来的TimeCurrent值。

现在,在运行专家顾问后

#define  TOSTRING(A) #A + " = " + (string)(A) + "\n"

void OnInit()
{
  EventSetTimer(1);
}

void OnTimer()
{
  Comment(TOSTRING(TimeTradeServer()) + TOSTRING(TimeCurrent()));
}

你可以看到任何胡言乱语。

注意日期。


这就是TimeTradeServer返回本地时间的方式。再一次,请纠正正确的行为。
原因: