【问题标题】:Suppressing Compiler Warning C++抑制编译器警告 C++
【发布时间】:2012-11-01 23:34:41
【问题描述】:

我收到编译时错误。它抱怨我正在初始化一个变量,但没有引用它。发生的事情是我初始化它然后制作一个调试打印语句,该语句只编译用于调试版本,而不是发布版本。有问题的错误是警告 c4189(它被视为错误并且不会编译)。

是否可以取消此警告?一般的警告呢?

【问题讨论】:

  • 您应该尝试理解警告并制作无警告代码而不是压制它。
  • 为什么不将变量声明也放在仅调试部分?
  • 如果你真的想要,可以使用#pragma 来“修复”警告。不过,总的来说,您应该修复代码,而不是使用#pragma。
  • 您只需单击警告选项卡(如果您使用 mvs)即可隐藏警告。它仍然应该编译。

标签: c++ visual-c++ compiler-errors warnings compiler-warnings


【解决方案1】:

不要抑制警告,修复它!包装变量的声明和初始化,使其也只存在于调试版本中。

【讨论】:

  • 该值已初始化,但从未在调试中引用,因为引用代码在发布版本中被剥离。
  • @CPlayer 你是对的,我编辑了我的答案以在这种情况下给出正确的解决方案。
猜你喜欢
  • 1970-01-01
  • 2011-02-20
  • 2016-10-02
  • 1970-01-01
  • 2019-04-19
  • 2020-01-04
  • 2011-03-26
  • 1970-01-01
  • 2011-06-27
相关资源
最近更新 更多