模板参数=void*的编译器错误 - 页 10

 
Ilya Malev:
至于 "正常的程序员会像记住乘法表一样记住C++运算的优先级"。
没有人提出过这样的论点。我自己使用文档中的标签
 
fxsaber:

正是如此!一点也不专业,这样的警告已经帮助我100次了。

我也不是专业人士,但我不止一次被这种警告所困扰,因为在几十个(有时是几百个)这种多余的警告中,真正重要和必要的警告被丢失了

而且不清楚如果你把括号放在任何地方,可能会有什么样的警告?而如果是关于其他案件,就没有必要把事情搞混了

 
A100:

这样,这个概念就可以在编译器中实现。没有人禁止放额外的括号。问题是关于不必要的警告

好吧,在工作室里,这是由一个级别配置的。

实际上,没有人会阻止你通过修改代码来删除这些警告,以便让编译器喜欢它。

 
TheXpert:

嗯,在演播室 里,它是 由一个水平设置 的。

实际上,没有人能够阻止你通过修改代码来删除这些警告,从而使编译器喜欢它。

这是一个障碍,因为这样就有了额外的括号。但是,没有人阻止这个事业的爱好者加上额外的括号,最重要的是--每个人都会感到高兴。

我怀疑它在studio中是可配置的--因为没有关于所谓被遗忘的括号的多余警告(至少在默认情况下),因此没有配置的对象。

 
A100:

我并不介意。就把这些警告留在旧的MQL4中。

这就是他们在大多数情况下保持的方式。

void OnStart()
 {
  int a=0,b=0,c=0,d=0,e=0,f=0;
  a=b|d/e^f|a^b&d^e%f|c;
 }

在μl4中,它对所有的东西都发誓,而在μl5中,只对操作<<和>>发誓,这是非常合理的,因为它们的重载逻辑往往与它们被优先考虑的逻辑非常不同。这些警告已经帮助了我很多次,或者至少没有让我太恼火。嗯,还有定义&&和||代码的逻辑运算,反正应该用圆括号来划定......

 
A100:

我也不是专家,但我不止一次被这种警告困扰,因为在几十个(有时是几百个)这种多余的警告中,我失去了真正重要和必要的警告。

而且也不清楚如果你到处放括号可能会有什么警告?而如果是关于其他案件,你也不需要把所有的东西都放在一起

通常情况下,发生这种情况时,你必须迅速修复一些状况。例如,我在一个条件中犯了一个错误,我在一个地方写了&&,应该用||来代替它。我纠正了它并按下了F7。我立即得到了一个警告。我准确地看了一下,发现目前的变化结果与我的预期不一样。我编辑它--它是好的。也就是说,编译器对我的信息帮助非常大。


但如果你有一大堆警告,请更仔细地编写你的代码。或者你不作为一个原则问题来编辑它们,向机器证明它是错误的?

 
A100:

它阻止你这样做,因为它创造了不必要的括号。但放额外的支架并不是业余爱好者所能阻止的,最主要的是大家都会满意。

我怀疑这在工作室里是可以配置的--因为没有关于所谓被遗忘的括号的额外警告(至少是默认的),所以不存在配置的问题。

完全同意。既然你称自己为程序员,就请好心地学习一下操作的优先级,至少要记住它们的存在。最近我被要求添加一个机器人,但我被要求添加init()和start(),当我问他们什么时候写的时候,他们被告知是一个星期前。所以,仍然有 "码农",但对这种人来说,不值得留下不必要的警告。

 
Vladimir Simakov:

我完全同意。既然你自称是程序员,就请你好自为之,学习操作的优先级,至少要记住它们的存在。最近有人要求我写完一个机器人,但我那里有init()和start(),当我问他们什么时候写的时候,他们被告知是一个星期前。所以,仍然有 "码农",但对这种人来说,不值得留下不必要的警告。

对优先次序的认识与警告无关。我默默地写代码,不称自己为程序员。

 
A100:

我怀疑它是在工作室里设置

我们曾经在我们的一个项目上有一个铁的规则--修复所有发布版本的警告,包括一些偏执的W4版本。

https://docs.microsoft.com/en-us/cpp/build/reference/compiler-option-warning-level?view=vs-2017

在我看来--警告越多越好,如果它们在某种程度上是合理的,并且可以被关闭的话。

 
fxsaber:

如果你有大量的警告,请更仔细地编写代码。或者你不作为一个原则问题来纠正它们,证明机器是错误的?

我主要使用C++兼容的代码(甚至经常是一个文件)。C++没有这些东西,而且不必要的括号,正如在这里 已经注意到的,使人难以理解