compiler-warnings相关内容

C++:警告:C4930:未调用原型函数(是否打算定义变量?)

我有一个没有默认构造函数的类,我创建了一个变量而没有错误地提供参数,但不是一个很好的编译器错误,而是一个链接器错误,我不能't 找到导致它的代码行. 最后,我设法找到了导致这种情况的代码,直到那时我才注意到我收到了这个警告: C++:警告:C4930:未调用原型函数(是否打算定义变量?) 奇怪的是当我更改代码时: MyClass foo(); 到 MyClass foo; 我确实 ..
发布时间:2022-01-05 19:22:31 C/C++开发

完整模式匹配的编译时约束

我正在寻找不完整模式匹配的警告编号.有人知道这是什么吗? 更完整地说,我想让 FSC.EXE 返回不完整的模式匹配作为编译时错误而不是警告 + 运行时异常.有谁知道这个警告号码是多少?具体来说,这与编译的 .fs/交互式 FSI .fsx REPL 交互有关. 警告: 此表达式上不完整的模式匹配.例如,值“LaLaLa (_)"可能表示模式未涵盖的情况. 如何定制: 见“-- ..
发布时间:2022-01-05 09:55:56 其他开发

在后续构建中保存并重新打印成功编译文件的警告?

在重复构建项目时,当翻译单元中有警告但没有错误时,通常不会重新编译主源文件. 这会导致难以解决错误和警告,以尝试在没有警告的情况下构建项目.通常,必须不断迭代构建,直到处理完所有错误,然后进行全面清理和构建以确保没有警告(以及确保先前完成的构建不是由剩余的构建工件造成的“侥幸"). CMake(或其他一些实用程序,例如 Bash 脚本)有什么方法可以解析构建输出以获取警告,将它们保存在 ..
发布时间:2022-01-04 21:45:43 其他开发

属性 getter 和 setter

通过这个简单的类,我得到了编译器警告 试图在自己的 setter/getter 中修改/访问 x 当我像这样使用它时: var p: point = Point()p.x = 12 我收到了 EXC_BAD_ACCESS.如果没有明确的支持 ivars,我该如何做到这一点? class 点 {变量 x: 整数 {放 {x = newValue * 2//错误}得到 {return ..
发布时间:2022-01-02 18:07:44 移动开发

在 GCC 中编译而不生成输出文件

$ gcc -c somefile.c 编译不链接,生成对应的somefile.o. 是否可以在 gcc 中编译文件而不生成任何输出文件? 我知道还有其他方法可以实现这一点,但我很好奇是否有一个标志仅用于遍历源代码以查找错误/警告. 解决方案 您可能喜欢 -fsyntax-only 选项.它不会在磁盘上写入任何内容,只是检查代码是否有效. 您可以使用以下命令检查它是否没有 ..
发布时间:2021-12-31 23:03:18 其他开发

将*一些*警告视为Swift中的错误?

想象一下,我在 Swift 中标记以下方法已弃用: @available(*, deprecated=1.0)func myFunc() {//...} 并且我通过设置 OTHER_SWIFT_FLAGS="将警告视为 Swift 中的错误-warnings-as-errors". 如何让它将这些弃用通知显示为警告,同时仍将其余警告视为错误? 似乎GCC 对这个问题有一个很好的解决 ..
发布时间:2021-12-31 23:02:13 移动开发

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

我知道 unsigned int 不能保存负值.但以下代码编译时没有任何错误/警告. unsigned int a = -10; 当我打印变量 a 时,打印出错误的值.如果无符号变量不能保存有符号值,为什么编译器允许它们编译而不给出任何错误/警告? 有什么想法吗? 编辑 编译器:VC++编译器 解决方案 需要使用警告级别 4. 解决方案 Microsoft ..
发布时间:2021-12-31 22:39:32 C/C++开发

GCC 可以不抱怨未定义的引用吗?

在什么情况下 GCC 可能在尝试调用虚构函数时不抛出“未定义引用"链接错误消息? 比如这段C代码被GCC编译链接的情况: void function(){made_up_function_name();返回;} ...即使 made_up_function_name 不在代码中任何地方(不是头文件、源文件、声明,也不是任何第三方库). 那种代码在不接触实际代码的情况下,在一定条件下 ..
发布时间:2021-12-31 22:19:26 其他开发

Word Interop 代码中的歧义

我最近发布了一个关于阅读 Word 文件的问题这里. 应用程序运行良好,但我收到此警告消息; 警告方法之间的歧义'Microsoft.Office.Interop.Word._Document.Close(ref object, ref object, ref object)'和非方法“Microsoft.Office.Interop.Word.DocumentEvents2_Even ..
发布时间:2021-12-31 11:37:38 C#/.NET

Visual Studio 2015 - 编译器警告(级别 2)C4146

我的代码中有以下行 signed int test_case= -2147483648; 产生错误: C4146 一元减运算符应用于无符号类型,结果仍然无符号 但这仍然是有符号整数类型的数据范围: __int32 有符号、有符号 int、int –2,147,483,648 到 2,147,483,647 奇怪的是将它分配为 signed long 给出了同样的错误,即 ..

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

我经常在我的#defines 中使用 do-while(0) 构造,原因如下 在这个答案中.此外,我试图使用来自编译器的尽可能高的警告级别来捕获更多潜在问题并使我的代码更加健壮和跨平台.所以我通常将 -Wall 与 gcc 和 /Wall 与 MSVC 一起使用. 不幸的是 MSVC 抱怨 do-while(0) 构造: foo.c(36):警告 C4127:条件表达式是常量 我应该怎么 ..
发布时间:2021-12-22 18:38:23 C/C++开发

使用#pragma warning push/pop 是暂时改变警告级别的正确方法吗?

有时很难编写完全不发出警告的 C++ 代码.然而,启用警告是一个好主意.因此,通常需要禁用围绕某些特定构造的警告,并在所有其他代码段中启用它们. 到目前为止,我已经看到了两种方法. 第一个是使用#pragma warning( push ) 和#pragma warning( pop ): #pragma 警告(推)#pragma 警告(禁用: ThatWarning )//此处带 ..
发布时间:2021-12-22 18:20:20 C/C++开发