class A
{
public:
template <typename T>
voidoperator =( T& ) // Без ссылки работает
{
Print(__FUNCSIG__);
}
voidoperator =( int )
{
Print(__FUNCSIG__);
}
};
void f( A*& )
{
Print(__FUNCSIG__);
}
voidOnStart()
{
A* a = new A;
A b;
b = a; // cannot convert type ' *' to reference of type 'A *'
a = a;
a = 1;
f(a);
delete a;
}
这意味着什么呢?
为什么该脚本没有输出任何东西?
因为它是通过引用而不是通过值
我一点也不明白。以下是代码
它莫名其妙地抱怨通过引用传递一个指针。同时,f函数平静地接收指针的引用。
其结果是
int运算符的调用没有任何问题,而指针运算符却没有问题。
从逻辑上讲,没有引用就不应该工作(imho)。 这可能是mql指针的一个特点--它们不需要被解除引用。
向每一个了解这个问题的人提出请求,让我们来了解一下。现在的情况有点乱。
我曾经认为,运算符只是其中的一种方法,因为它的语法而方便使用。而没有其他区别。现在事实证明,情况并非总是如此。
我曾经认为,操作员只是其中一种方法
任何操作者都可以。但
1.经营者=最受欢迎的人之一
2. 唯一由编译器生成的运算符
任何操作者都可以。但
1.经营者=最需要的人之一
2. 唯一由编译器生成的运算符
因此,重载/覆盖的操作者。
我错了,它应该在没有链接的情况下工作。它的意思是,由于替换的细微差别,它在链接的情况下不能工作。
在优点方面,即使有参考文献,它也能发挥作用。
如果你对这种事情有疑问,最好用参考资料来检查,即C++。然而,语法可能略有不同
我错了,它应该在没有链接的情况下工作。它的意思是,由于替换的细微差别,它在链接的情况下不能工作。
它的工作原理是:在加号中,并有一个链接。
如果你对这种事情有疑问,最好用一个基准来检查,即C++,尽管语法可能略有不同。
谢谢你!不幸的是,我不会说MQL以外的任何语言。我对MQL的理解也很差。我正在学习MQL中的OOP。
起初我以为我根本不懂算术。
这两个数字加起来怎么会是138.95,加两个零怎么会是-24.34?
但后来我意识到。
如果昨天或更早开立的头寸在今天被关闭,它们不会被显示出来,但它们会参与平仓金额的计算。
如果你改变所显示的历史深度,然后再次选择 "今天",所有丢失的头寸将回到原位。
这个错误会被修复吗?还是没有人需要它?