错误、漏洞、问题 - 页 1619

 
Slawa:

系统函数Point()实际上被内联,并被转换成_Point变量的 简单访问

有人说,我记得Renat或你说过,建议使用Point()、Digits()...这是真的吗?至少,我总是这样做,牢记建议。
 
Andrey Dik:
有人说,我记得是Renat或你,建议使用Point()、Digits()...这是真的吗?至少,记住这个建议,我总是这样做。

是的,这是正确的。

下次我将举出与我们的建议相一致的例子

 

向开发者提出几个问题和要求。

一年前,我们正在讨论通过引用返回函数值的想法(请求1292558)。 最后,我们得到保证,这个问题已经解决,该功能将在秋末(去年)出现。 但我们仍然在这里。 我们可以问一下,什么原因没有实现?

2.多重继承怎么办? 比如我,真的需要,至少是双重继承。

3.派生类中的虚拟函数覆盖 关键字是OOP绝对必要的东西。否则,编译器将无法控制它们:如果你在某个地方设置了错误的参数类型,或者在某个地方忘记使用const,那就是了--这是一个不同的函数。 我们也会得到难以捕捉的错误。

4.我们需要重载幽灵运算符的可能性。

 

你还需要完善函数模板。 现在,你所有的类型名都被硬塞给了函数参数。 这使得你无法实现许多结构。例如,这个人。

template<typename T> 
T  func()  { return T(0); }

void OnStart()
{
  func<int>();
}

当然,这可以用一种拐杖的方式来解决,即在函数中传递假参数,但你要明白,这使代码非常混乱。

 
Alexey Navoykov:

你还需要完善函数模板。 现在,你所有的类型名都是硬性规定的函数参数。 正因为如此,许多结构不能被实现。例如,这个人。

当然,这可以用一种拐杖的方式来解决,即在函数中传递假参数,但你要明白,这使代码非常混乱。

这在我们的计划中,我们将这样做。
 

我还希望编译器在检测到模板内的错误时,能在日志中指明导致错误的变量类型。 否则,就很难找到它。

让我们假设以下代码片段。

void F(A& a)  {  }
void F(B& a)  {  }


template<typename T> 
void    Func(T& obj)  { F(obj); }   // 'F' - no one of the overloads can be applied to the function call

我们不知道T在这里对应的是什么类型,所以很难确定这个模式是在程序的什么地方调用的。而且可以有非常多这样的片段,包括来自其他模板的片段。比如说,如果编译器写出obj是C类型,你就会马上明白该去哪里找。

 
Bild 985不知道是什么虫子

打开, 开始: 2016.07.04 06:48, #1507434

即将到来的一个月....

 
Vladimir Pastushak:
Bild 985不知道是什么虫子

打开, 开始: 2016.07.04 06:48, #1507434

即将到来的一个月....

管理员和开发人员不会离开一个周末而没有任何回应......

 
大家好。我几页前就问过这个问题,但我要再试一次。 当MT5服务器连接中断时,有没有办法重新登录我的账户?在论坛上搜索,没有得到任何信息。
 
Dmitri Custurov:
大家好。我几页前就问过这个问题,但我要再试一次。 当MT5服务器连接中断时,有没有办法重新登录我的账户?在论坛上搜索,没有得到任何信息。
不,你不能。但重新连接是自动的,所以没有必要。