mql5语言的特点、微妙之处以及技巧 - 页 119

 
Alexey Navoykov:

而且你不能去最下面的那个地方。这就是为什么一切都很清楚。

只请事先声明类-结构的可能性 :)

class A;
class B{A*a;};
class A{};
 
fxsaber:

灵活性较低。

灵活性是对算法执行顺序的破坏?)

Ilya Malev:

只请事先声明类-结构的可能性 :)

好吧,这并不违背逻辑。就像一个函数的初步声明。 如果某个东西被提前声明,它也会被提前初始化。 一切都有逻辑联系。

 
Alexey Navoykov:

灵活性是否违反了算法的执行顺序?)

现在,OnTick可以在程序的任何地方被调用。

 
fxsaber:

现在可以从程序的任何地方调用OnTick。

如果你需要,你可以在C++中一开始就声明void OnTick();。 但一般来说,函数声明的顺序是控制代码正确性的额外方法。 例如,如果在一些插件中你不小心调用了OnTick()或者更糟糕的是--OnInit(),这样好吗? 图书馆一定不会看到你的工作代码。
 
Alexey Navoykov:

好吧,这并不违背逻辑。就像事先声明一个函数一样。 如果某样东西被提前声明,它也会被提前初始化。 一切都是有逻辑联系的。

它可能与你的逻辑相矛盾,但它丝毫不与普通的逻辑相矛盾。因为在代码开始执行的那一刻,一切都保证被初始化了。

 
Ilya Malev:

这可能与你的逻辑相矛盾,但这与传统的逻辑丝毫不矛盾。因为在代码执行时,一切都保证是初始化的。

你似乎误读了我的帖子。它说它不相矛盾)

 
Alexey Navoykov:

你似乎没有仔细阅读我的帖子。它说不要抵触)。

这是正确的,我道歉,它发生了。

 
Alexey Navoykov:
如果你需要,你可以在一开始就声明 void OnTick(); 但一般来说,函数声明的顺序是控制代码正确性的额外方式。 例如,如果在某些插件中调用OnTick()或者更糟糕的是,OnInit()发生了,这好吗? 图书馆不能看到你的工作代码。

当包括库的时候,每个库都在自己内部包括相同的库,该怎么做?

 
fxsaber:

当我连接的库在内部各自连接相同的库时,我应该怎么做?

那么问题出在哪里?
 
fxsaber:

当连接库时,每个库都在自己内部连接同一个库,该怎么做?

#ifndef  MQL_TOOLS_H
#define  MQL_TOOLS_H

#endif

奇怪的是,指令被输入但没有被使用