问题标签 [compiler-warnings]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3287 浏览

vb.net - 有谁知道查看 VB.NET 项目的所有编译器警告的方法?

VB.NET 有这个相当烦人的限制,它将编译器警告报告为 100。

当试图确定遵守 VB.NET 最佳实践(例如启用 Option Strict)所需的工作量时,这让事情变得相当令人沮丧。

有什么方法可以消除、调整此限制,或者可以通过其他方式(例如通过第 3 方代码分析工具)收集警告?

0 投票
5 回答
122 浏览

frameworks - 在错误消息中提供建议的解决方案

开发人员工具和软件通常不会在错误消息中提供解决方案建议。这对编译器来说是有意义的,因为它们应该准确地告诉你出了什么问题。

“lint”工具可以提供建议,但是据我所知,很少有开发人员经常甚至根本不使用 lint 工具。

有大量面向开发人员的软件可以很好地为错误消息提供“建议的解决方案”部分。这是 Eclipse 等 IDE 所具有的强大功能之一。但是像 Web 应用程序框架、标准/流行库等软件没有这个有用的功能。

这是否只是缺乏用户友好的设计(可以认为这是不必要的,因为谷歌非常好)还是有充分的理由?您使用的任何编译器、框架、平台是否提供带有解决方案建议的错误消息,如果没有,为什么不提供?

0 投票
3 回答
7530 浏览

c++ - boost::system::(...)_category 已定义但未使用

我目前收到的编译器警告类似于我在问题标题中给出的警告。诸如……之类的警告

warning: 'boost::system::generic_category' defined but not used

warning: 'boost::system::posix_category' defined but not used

warning: 'boost::system::errno_ecat' defined but not used

warning: 'boost::system::native_ecat' defined but not used

据我所知,该程序没有受到任何影响。但是,我不喜欢到处出现警告,但我不知道这些警告试图告诉我什么,除了定义的和与 boost 相关的东西在不被使用的地方徘徊。但是,我定义的所有内容,我都使用过。我使用的 boost 库是随机库和文件系统库。

当我检查警告的来源时,它会打开 Boost 的 error_category.hpp 文件并突出显示一些static const被注释为“预定义错误类别”或“不推荐使用的同义词”的 s。也许问题与我在使用库时的错误处理(或缺少)有关?

谁能提供一些关于为什么会弹出这些警告的见解?我完全错过了什么吗?

PS 警告处于最高级别。

0 投票
5 回答
58235 浏览

c++ - g++ -Wreorder 的意义何在?

g++ -Wall 选项包括 -Wreorder。该选项的作用如下所述。我不清楚为什么有人会关心(特别是足以在 -Wall 中默认打开它)。

0 投票
2 回答
8810 浏览

c++-cli - C++/CLI:如何覆盖 Object 类的 Equal 方法

我是 C++/CLI 的新手,在尝试覆盖基 Object 类的 Equal 方法时遇到了一些问题。我收到以下代码的以下编译警告错误。这应该如何纠正?

编辑 3:我将“Equal”更改为“Equals”,删除了源文件中的 override 关键字,但错误 2 仍然存在。

// 头文件

// 源文件

0 投票
5 回答
153 浏览

objective-c - 冗余编译器警告

我经常发现,当从 myObject2 调用与 myObject1 关联的 myMethod 时,我收到“myObject1 可能无法响应 -myMethod”的警告,但随后程序运行得很好。为什么编译器在编译时不能识别声明的方法?

约翰·多纳

0 投票
2 回答
1297 浏览

c++ - Sun Studio C++“不以换行符终止”警告 - 如何抑制?

我已经将相当多的代码从 Win 移植到 Solaris,这是我遇到的问题之一 - 我收到大量警告:

我喜欢警告——但由于警告的数量太多,我担心我会错过更重要的警告。

我应该指定哪个编译器 (cc) 选项来使其静音?

谢谢。

0 投票
8 回答
9848 浏览

c# - 有没有办法让 VS2008 停止警告我有关无法访问的代码?

我的应用程序中有一些配置选项,如下所示

然后使用它的代码就像

问题是,我们可能会发布稍微不同的版本,而不是 ExecuteThis 或 ExecuteThat,我们希望能够使用 const,这样我们在运行时就不会受到此类事情的任何速度损失。但我厌倦了看到有关无法访问代码的警告。我是一个喜欢消除所有警告的人,但我对此无能为力。有什么选项可以用来关闭这些警告吗?

0 投票
21 回答
13031 浏览

c++ - C/C++: 如何使用 do-while(0); 构造没有像 C4127 这样的编译器警告?

由于这个答案中描述的原因,我经常在我的#defines 中使用 do-while(0) 构造。此外,我正在尝试使用编译器的尽可能高的警告级别来捕捉更多潜在问题,并使我的代码更加健壮和跨平台。所以我通常使用-Wallgcc 和/WallMSVC。

不幸的是,MSVC 抱怨 do-while(0) 构造:

我应该怎么处理这个警告?

只是为所有文件全局禁用它?这对我来说似乎不是一个好主意。

0 投票
3 回答
716 浏览

c++ - 如何解释 g++ 警告

尝试编译以下代码时,我收到了一个非常奇怪的 g++ 警告:

输出:

对我来说根本没有任何意义。我应该如何解释它?我看不出发布的代码有什么问题。

忘记指定编译器详细信息: