获取非原型声明的编译警告
在 C 中,函数声明可以是原型声明或非原型声明。例如,考虑以下最小程序: int foo (); /* non-prototype declaration */ int bar (void); /* prototy…
是否有任何编译器或选项可以针对无意义和有错误的 switch 语句触发警告?
给出以下代码: bool doGoodThing; switch (some_variable) { case 1: case 2: doGoodThing = true; default: doGoodThing = false; } 最新的 gcc 版…
关于 ofstream 的歧义的警告,但对于 ostream 则不然。有什么区别?
这并不重要。但我很好奇这个警告什么时候出现。我真正的问题是为什么 ostream 和 ofstream 受到不同的对待。 struct Test { int y; Test(int k) : y(k…
如何摆脱“内联函数已使用但从未定义” g++ 中的警告
我正在使用 mingw-w64。我包含 strsafe.h 并收到以下警告: warning: inline function 'HRESULT StringCchPrintfA(STRSAFE_LPSTR, size_t, STRS AFE_L…
创建 Visual Studio 2010 扩展以生成编译器警告
我想创建一个扩展来识别代码中的特定注释。我将使用 //@ 注释前缀来表示代码异味。此扩展的一个功能是为编译代码时遇到的每个注释生成警告。可以这样…
为什么 gcc 不对内部代码中的未定义行为发出警告?
我刚刚阅读了这个有关未定义行为和序列点的 SO C++ 常见问题解答,并进行了一些实验。在下面的代码中,gcc-4.5.2仅在代码注释中提到的行中给了我一个…
(XCode) 编译某些文件时关闭警告?
我在我的 iOS 项目中使用了几个生成一些警告的第三方库。有没有一种方法可以仅关闭对这些特定文件的警告,类似于通过将“-fno-objc-arc”标志添加到“…
调用堆栈错误 - C#
// // textEdit1 // this.textEdit1.Location = new System.Drawing.Point(4, 20); this.textEdit1.Name = "textEdit1"; this.textEdit1.Properties.…
静态条件下的编译器警告
我使用模板参数来确定是否必须执行某种行为。但是此代码在 VS2008 上生成警告: Warning 26 warning C4127: conditional expression is constant 这里…
如何克服毫无意义的 C++优雅地编译器警告?
这个问题不受任何特定编译器警告的约束,以下只是一个示例。 目前,当我想要一个检查内部退出条件的循环时: while( true ) { doSomething(); if( con…
Visual C 中的 C4510-C4513 和 C4623-C4626 警告范围有什么区别?
事实证明(在 反愚蠢警告标题中找到,共享于 这个答案),Visual C++ 有两组警告看起来非常相似。 即 C4510-C4513 和 C4623-C4626 看起来抱怨完全相同…
如何传递用户定义的固定长度数组类型而不发出警告(C 和 OpenCL)
我有几个理由为固定长度数组定义类型,如下所示: typedef float fixed_array_t[NX][NY]; 然后我想将对 fixed_array_t 实例的引用传递给其他函数。尽…