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

c++ - C++ Boost:这个警告的原因是什么?

我有一个带有 Boost 的简单 C++,如下所示:

这很好用;它将 ( ) 的每次出现都替换为 " "

但是,我在编译时收到此警告:

我正在使用 MSVC 2008,Boost 1.37.0。

我当然可以使用禁用警告

但在我找出问题所在之前,或者更重要的是,如果我的代码不正确,我有点不愿意这样做。

0 投票
2 回答
251 浏览

asp.net-mvc - 警告:“找不到文件 '../ControllerName/ActionMethodName'。”

我们在 View 的表单帖子中看到了上述警告......

从技术上讲,这个警告是正确的——没有这样的文件,但由于我们使用的是 ASP.NET MVC,所以这个检查还不够。

这个警告并没有阻止我们的应用程序工作,但我们有一个通用的“无编译器警告”策略,所以想禁止它。

这可能吗?

0 投票
4 回答
14459 浏览

java - 错误路径警告,它来自哪里?

当我用编译器警告(JDK 1.5)编译我的项目时,我收到一堆错误的路径元素警告:

警告:: [path] 错误的路径元素“C:\Users\User\MyJava\common\lib\junit.jar”:没有这样的文件或目录警告:: [path] 错误的路径元素“C:\Users\User\ MyJava\common\lib\jdom.jar": 没有这样的文件或目录警告:: [path] bad path element "C:\Users\User\MyJava\common\lib\xerces.jar": 没有这样的文件或目录警告:: [path] bad path element "C:\Users\User\MyJava\common\lib\xml-apis.jar": 没有这样的文件或目录

还有很多。

这是使用 IDEA 8.1.3。我在 IDEA 的配置中找不到任何指向这些文件的地方(我对整个项目进行了 grepped)。他们确实都不再以那个名字存在了,但是是什么引用了他们呢?

0 投票
1 回答
331 浏览

c++ - 在 C++ 编译时确保正确的双指针传递方法

过去,我们在软件中遇到过各种内存泄漏。我们发现这些发生主要是由于我们自己的“免费”-Methods 的错误使用,它释放了 Queue-Message-Data 等。

问题是,在我们最深入的工具函数中,有两种方法可以释放动态分配的内存,具有以下签名:

void free (void *pData);
void free (void **ppData);

两种方法基本上都做同样的事情,除了第二种方法首先取消引用数据。我知道只用这两者之一就可以做所有事情,但可以说该软件多年前就是这样设计的,现在到处都有代码使用这两者。

当有人像这样实现对这些方法的调用时,问题就来了:

QueueMessage *pMsg;
pMsg = myQueue.read(...); // dynamically allocates space for the msg and fills it
// Do something
myQueue.free(&pMsg); // << WRONG!

上面的代码应该将指向消息的指针传递给自由方法。基本上它会工作,但由于编译器不知道在这种情况下使用哪个函数,它使用free(void *pData)然后尝试释放Pointer的方法,而不是Pointer 指向的内存。当然,解决方案很简单,要么:要么

myQueue.free(pMsg);

myQueue.free((void**)&pMsg);

两者都会起作用。既然我已经描述了问题和解决方案,我想知道:有什么方法可以确保使用这些方法的程序员以正确的方式使用它们?我已经阅读了VS2005 中的标头注释,它们非常有用,但似乎并没有满足我的需要。如果指针的引用被传递给第一个方法,如果有一种方法可以产生警告,那就太好了,这样程序员至少会得到他的代码有问题的提示。

顺便说一句,我正在使用 Microsoft VS2005,如果需要,可以升级到 VS2008。这是一个迁移到 VS2005 的 C++ 应用程序,因此与 .NET 兼容。

0 投票
8 回答
22746 浏览

c# - 有没有办法在 C# 中抑制类似于 Java 的 @SuppressWarnings 注释的警告?

有没有办法在 C# 中抑制类似于 Java 的 @SuppressWarnings 注释的警告?

如果做不到这一点,是否有另一种方法可以抑制 Visual Studio 中的警告?

0 投票
2 回答
762 浏览

java - Java:通用强制转换会产生警告,为什么?

我不明白为什么以下代码会生成警告。

在 B 类中,我只对使用 A 类型的 Generic 实例感兴趣。此警告表明我需要将 Generic 参数存储为 T 而不是 A。

但这意味着我也必须声明 B 泛型,这似乎使事情变得比需要的更复杂。

0 投票
2 回答
1671 浏览

c++ - w8004 编译器警告 BDS6 c/c++

最佳实践是在声明时初始化变量。

在调试模式下,这样的语句 int vStatus = OK;在 DEBUG MODE 构建期间不会引起任何问题。

在 RELEASE MODE 中构建时相同,会发出警告:

w8004:“vStatus”被分配了一个从未使用过的值。

另外,我在同一个函数的代码中使用同一个变量,就像这样 if(!vStatus),我还返回了return(vStatus);

当我在网上查看有关此调试 Vs Release 的指针时,编译器希望您在声明变量时对其进行初始化。

我正在使用带有 Windows 2003 服务器的 Borland developer studio 6。

任何指示都将帮助我理解这个问题。

谢谢

拉吉

0 投票
4 回答
5607 浏览

iphone - 为什么我在 XCode 中收到不推荐使用的警告

当我什至不使用 setText 方法时,我会收到警告。为什么 XCode 会显示此警告消息?

替代文字 http://www.angryhacker.com/toys/deprecated.jpg

0 投票
7 回答
44741 浏览

objective-c - 如何在 Objective-C 中检测未使用的方法和#import

在 iPhone 应用程序上工作了很长时间后,我意识到我的代码很脏,包含几个#import 和根本没有调用或没有用的方法。

我想知道是否有任何编译器指令或方法来检测那些无用的代码行。Xcode 是否有任何工具可以检测到这一点?

0 投票
1 回答
2886 浏览

visual-studio - 什么是清单创作警告?

有谁知道这是什么意思?想了解一下吗?
在 VS2005 中编译 MFC 项目时收到此警告。