问题标签 [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 投票
8 回答
45131 浏览

c++ - 在类型中使用枚举 - 编译器警告 C4482 C++

我在我的一个类的方法中使用枚举的完全限定名称。但我收到编译器警告,上面写着“警告 C4482: nonstandard extension used: enum 'Foo' used inqualified name”。在 C++ 中,我们是否需要使用没有限定名的枚举?但是IMO,这看起来很难看。

有什么想法吗?

0 投票
3 回答
15089 浏览

c# - 全局禁止 c# 编译器警告

在我的应用程序中,我有相当多的实体具有通过反射设置其值的字段。(在这种情况下,NHibernate 正在设置它们)。我想摆脱“x 从未分配给并且将始终具有其默认值 0”警告,因此我可以更轻松地挑选出其他警告。我意识到您可以将它们包含在编译指示指令中,但是 AFAIK 您必须为每个指令执行此操作。是否有一个项目范围或解决方案范围的方法可以做到这一点?

0 投票
6 回答
20741 浏览

c# - 关于 ExtensionAttribute 的奇怪警告

我收到一个奇怪的警告:

预定义类型 'System.Runtime.CompilerServices.ExtensionAttribute' 在全局别名中的多个程序集中定义;使用来自 'c:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll' 的定义

没有给出行号,所以很难弄清楚它是关于什么的。

编译器错误代码是CS1685

0 投票
3 回答
9211 浏览

c# - C#:是否需要编译指示警告恢复?

msdn我得到这个:

在示例中,都使用了disablerestorerestore如果我希望对整个文件禁用它,是否有必要?

就像,如果我不恢复,它会走多远?之后编译的所有内容是否都禁用了警告?还是只针对该文件的其余部分?还是被忽略了?

0 投票
5 回答
50655 浏览

java - 如何抑制特定函数的 Java 编译器警告

我们总是被教导要确保在 switch 语句中使用中断来避免失败。

Java 编译器会针对这些情况发出警告,以帮助我们避免犯微不足道的(但严重的)错误。

但是,我将使用案例失败作为一个功能(我们不必在这里深入探讨,但它提供了一个非常优雅的解决方案)。

但是,编译器会吐出大量警告,这些警告可能会掩盖我需要了解的警告。我知道如何更改编译器以忽略所有失败警告,但我想逐个方法实现这一点,以避免错过我不打算发生失败的地方。

有任何想法吗?

0 投票
6 回答
29938 浏览

c# - C# 编译器警告 1685

因此,(似乎)出乎意料的是,我的项目开始收到编译器警告 1685:

预定义类型 'System.Runtime.CompilerServices.ExtensionAttribute' 在全局别名中的多个程序集中定义;使用来自 'c:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll' 的定义

感到困惑的是,我研究了 MSDN 文章以找出其原因。这是我找到的信息:

Visual C# 参考:错误和警告编译器警告(级别 1)CS1685

错误信息 预定义类型“System.type name”在全局别名中的多个程序集中定义;使用“文件名”中的定义

当在两个程序集中找到预定义的系统类型(如 System.int32)时,会发生此错误。发生这种情况的一种方法是,如果您从两个不同的地方引用 mscorlib,例如尝试并排运行 .Net Framework 版本 1.0 和 1.1。

编译器将仅使用其中一个程序集的定义。编译器仅搜索全局别名,不搜索定义/引用的库。如果您指定了 /nostdlib,编译器将搜索 Object,并在以后开始在找到 Object 的文件中搜索预定义类型。

现在我真的很摸不着头脑。

  1. 我没有运行两个不同版本的 .NET Framework(除非您计算 2.0 和 3.5)。

  2. 我没有引用任何可能让我怀疑的奇怪程序集。

  3. 我不记得对我的应用程序进行任何会刺激这种变化的更改。

  4. 我已验证所有组件都以 .NET Framework 版本 v2.0.50727 为目标。

我愿意接受有关如何纠正此问题的建议或想法。我将警告视为错误,这让我发疯。

真正让我烦恼的是我不知道它为什么会发生。发生的事情应该有一个可辨别的原因,我应该知道它们发生的原因。如果我不能解释它,我就无法准确地补救它。猜测永远不会令人满意。

该应用程序很简单,由一个类库和一个 Windows 窗体应用程序组成。

  • AC# 类库 DLL 提供封装数据库访问的基本功能。此 DLL 引用以下组件:

    • 系统
    • 系统核心
    • 系统核心数据
    • 系统数据
    • System.Data.DataSetExtensions
    • System.Data.OracleClient
    • 系统绘图
    • System.Windows.Forms
    • 系统文件
    • System.Xml.Linq
  • AC# Windows 窗体应用程序提供 UI。此应用程序引用以下组件:

    • 清洁代码
    • CleanCodeControls(两者都提供语法编辑器支持,并且是针对 .NET 3.5 在本地构建的)。
    • 灵桥
    • Roswell.Framework(上面的类库)
    • 系统
    • 系统核心
    • 系统数据
    • System.Data.DataSetExtensions
    • System.Data.OracleClient
    • 系统部署
    • 系统设计
    • 系统绘图
    • System.Windows.Forms
    • 系统文件
    • System.Xml.Linq

如果您需要更多信息,请告诉我,我很乐意提供。

0 投票
6 回答
57986 浏览

c# - Visual Studio 警告级别的含义?

在 Web 应用程序项目的构建选项卡上,我有一个名为“警告级别”的设置。我可以设置一个从 0 到 4 的值。这些值是什么意思?值 0 是否会更严格并产生更多警告,反之亦然?我还没有找到任何关于它的文档,但也许我找错了地方。

0 投票
2 回答
2883 浏览

c++ - 奇怪的 SAL 注释警告

我正在尝试为我的项目使用 Micosoft 的 SAL 注释,但是我收到以下警告,我不知道为什么。

例如,我创建了一个新的 C++ 控制台应用程序,并拥有以下代码:

当我使用 Visual Studio 2008 编译时,我收到以下警告:

警告 C6540:在此函数上使用属性注释将使其所有现有的 __declspec 注释无效

在文件“c1xxast”中

我究竟做错了什么?如果我删除_Check_return___in,警告就会消失。

我找不到对警告 C6550 的任何引用。但是,可以在此处找到相同的文本:http: //msdn.microsoft.com/en-us/library/dd445322.aspx,但这不是很有帮助。

0 投票
2 回答
997 浏览

eclipse - 如何让 Eclipse 警告消息不会立即消失?

Eclipse 中的黄色小警告符号和下划线不会持续很长时间,是吗?

当我收到警告时,单击小警告符号后,我有几毫秒的时间尝试阅读警告消息,然后它就像一只非常快速和谨慎的鼠标一样消失。

有没有办法改变这一点,还是每个人都受到这个问题的困扰?

0 投票
5 回答
4785 浏览

c++ - 为什么将有符号值分配给无符号整数时编译器不给出错误?- C++

我知道unsigned int不能保存负值。但是以下代码编译时没有任何错误/警告。

当我打印变量a时,我打印了一个错误的值。如果无符号变量不能保存有符号值,为什么编译器允许它们编译而不给出任何错误/警告?

有什么想法吗?

编辑

编译器:VC++编译器

解决方案

需要使用警告级别 4。