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

visual-studio - Visual Studio 2005 中 C++ 错误的“调用堆栈”

Visual Studio 2005 (C++) 中是否存在编译器错误的“调用堆栈”?

例如,我使用 boost::scoped_ptr 作为 QHash 中的值。然而,这会导致以下编译错误:

从构建输出中,我知道我的哪个源文件导致错误以及导致错误的 qhash.h 中的行号,但我试图在我的源文件中追踪生成错误的行号(因此“调用堆栈”的想法)。

请注意,我不是在寻找在 QHash 中使用 scoped_ptr 问题的解决方案,而是在寻找生成编译错误的位置的问题。这对于帮助追踪奇怪的警告也很有用。在使用模板类时,我经常会遇到这个问题。

谢谢!

0 投票
2 回答
144 浏览

language-agnostic - 可视化编译器警告

我正在寻找一种通过注释或以其他方式显示导致报告的行来可视化编译器警告和备注的方法。

这很像 NetBeans 或 Eclipse 等现代 IDE,但我想一次从多个编译器(和其他静态代码分析工具)获取输出,并创建一个注释以获得更好的概览。

基本原理是我们已经看到一些问题完全没有被 Visual Studio 2005 检测到,但使用专有的 ARM 编译器可以准确检测到,反之亦然。交叉引用警告可能会更好地定位问题,但完全手动这样做是不可行的。

你听说过这样的工具吗?像 Eclipse 这样的开源 IDE 是否可以扩展为一次使用多个编译器,或者已经完成了?

0 投票
1 回答
1128 浏览

c - 使用编译器警告捕获常量 1 左移的溢出?

我们在 Linux 内核中编写代码,所以尽我所能,我无法让 PC-Lint/Flexelint 在 Linux 内核代码上工作。内置符号等太多了。但这是一个附带问题。

我们有任意数量的编译器,从 gcc 开始,但也有其他的。随着时间的推移,它们的警告选项越来越强大,它们也是非常强大的静态分析工具。

这是我想要捕捉的。是的,我知道它违反了一些在代码审查中很容易发现的东西,例如“没有幻数”和“当心位移”,但前提是你碰巧看到了那段代码。无论如何,这里是:

进一步更新的问题描述——即使 bar 限制为 16,仍然是一个问题。澄清一下,问题是隐含的 int 类型的常量,它在计划外使复杂的表达式违反了所有计算都以相同的大小和符号进行的规则。

问题:'1' 不是 long long,但作为一个小值常量,默认为 int。因此,即使 bar 的实际值从未超过,例如 16,(1<<bar)表达式仍然会溢出并破坏整个计算。

可能正确的解决方案:改为写 1ULL。

是否有一个众所周知的编译器和编译器警告标志会指出这个(修订的)问题?

0 投票
3 回答
3381 浏览

iphone - xcode 目标 c 警告

我对objective-c比较陌生...我正在使用iphone 3.0 SDK

我有一个 UIView,它是一个子视图,我想在某些情况下调整它的大小。

我这样做的方式是在控制器类中。

例如,

上面的代码确实有效,但编译器会发出警告:'UIView' may not respond to 'setSize:'

在某种程度上,“如果它没有坏,我不想修复它”,但我有点担心我做错了什么。

关于为什么我收到警告以及如何解决它的任何想法?

TIA

0 投票
1 回答
1016 浏览

visual-studio - Visual Studio:警告私有和内部成员缺少 XML 文档

我正在使用 Visual Studio 2005 (VS.8.0),我希望强制要求所有类成员,而不仅仅是公共成员,都被记录在案。虽然设置 Visual Studio 以在未记录公共、受保护或内部受保护成员时生成警告很简单,但我正在寻找一种方法让私有和内部成员抛出同样的警告。有什么建议么?

注意:我使用的是 4 级警告,将警告视为错误,并设置了生成 XML 标志。

0 投票
9 回答
174491 浏览

java - Java 中有效的@SuppressWarnings 警告名称列表是什么?

@SuppressWarningsJava中的有效警告名称列表是什么?

介于 in 之间的("")@SuppressWarnings("")

0 投票
3 回答
701 浏览

objective-c - Xcode 似乎不想包含我的课程

所以,我有一个名为 MazeCell 的类,它在“MazeCell.h”中声明

Xcode 不断显示警告,就像"warning: 'MazeView' may not respond to '-left'"所有方法一样。有趣的是代码在模拟器上运行良好,只是 XCode 不知道方法。

我满足于忽略这些消息,直到 XCode 不允许我使用MazeCellEdgeWall它,因为它之前没有被声明(所有这些警告和错误都在不同的类中)。

因此,我想知道是否有人看到了我可能错过的任何明显错误,因为我通常是编程新手。


编辑:我最初没有包含代码,因为它很长,但这里是给出错误的代码。

这是“MazeCell.m”:

这是 MazeView.h:

同样,这是为了证明我已经编写了代码。这个程序有效,正如我所说,迷宫单元方法确实有效,只是 Xcode 给了我一些我不关心的警告,除了它说我还没有定义 MazeCellEdgeExit 所以不再编译,但它确实以其他方式编译。


现在这很奇怪。但是我发现复制 MazeCell.h 和 MazeCell.m 文件并将它们重命名为 MzCell.h 和 MzCell.m,然后用 MzCell 替换对 MazeCell 的每个引用可以运行该程序。

虽然这带来的问题比它回答的要多……

0 投票
3 回答
3756 浏览

objective-c - 具有可选属性的协议?

简短的版本是我有一个带有可选参数的协议。当我构建一个使用 iPhone SDK 3.x 实现它的类时,它编译得很好,没有错误或警告。当我使用 2.x SDK 时,我收到以下警告:

在这两种情况下都可以正常工作。

所以两个问题:

  1. 修复警告的正确方法是什么?我添加@dynamic到不正确的实现中,因为该属性确实不存在。
  2. 为什么在 SDK 3.x 中有效但在 2.x 中无效?文档说“在 Mac OS X v10.5 上,协议可能不包括可选的声明属性。” 显然,情况并非如此。

如果我不完全清楚,这是我必须使事情变得更加明显的那种代码的快速示例。

0 投票
3 回答
4266 浏览

c++ - 为什么 VC++ C4150(删除指向不完整类型的指针)只是一个警告?

当然,警告是必须要处理的,但是为什么VC++ C4150(删除指向不完整类型的指针)只是一个警告呢?

0 投票
1 回答
241 浏览

delphi - 德尔福警告让我烦恼

在我的一个组件集中,我在编译时收到了许多警告:

Method Create (Clear, DrawTab) 隐藏基本类型 ControlX 的虚拟方法。

我的问题是我对虚拟方法和 Delphi 的了解不够,不知道如何正确解决这个问题(我们有源代码)。有谁知道如何在 Delphi 5 中修复此类错误?