compiler-warnings相关内容
此代码: #include #include int main(void) { bool flag = true; printf("%s ", "xxxzzz" + ( flag ? 3 : 0 )); return 0; } 使用-std=c11 -pedantic编译会导致警告: main.c:7:27: warning
..
我正在尝试编译我的一些代码,这些代码在g++(使用--Wnon-虚dtor标志)中编译得很好。此外,我的IDE和clang-tidy没有警告我(我当然知道这可能是假的)。 当我尝试用Intel的icpc编译相同的代码(实际上是这个icpc (ICC) 19.1.2.254 20200623)时,我收到了一个警告,现在我可以追踪到它--我想知道是我有什么错,还是这个警告在我的情况下实际上是不正
..
我想知道为什么以下针对Boolean True的隐式测试不会产生死代码警告,而显式测试会产生死代码警告? 例如: public void noDeadCodeWarning() { final boolean x = false; if ( x ) { System.out.println("This is dead code"); // no w
..
此警告是什么,我如何修复它? warning: ‘cudaError_t cudaMemcpyToArray(cudaArray_t, size_t, size_t, const void*, size_t, cudaMemcpyKind)’ is deprecated [-Wdeprecated-declarations] 推荐答案 已弃用意味着不建议使用它,可能会在下一个CUD
..
以下是一些示例代码: ! Author: Svetlana Tkachenko svetlana@members.fsf.org ! License: GPLv3 or later subroutine myprint(var) ! integer :: var ! print *, 'Hi, my ', var end subroutine module testi
..
在此代码示例中使用int而不是std::size_t时 std::vector v {1,2,3,4}; for(int i = 0; i
..
我意外地跟踪了基结构派生的类中具有私有成员的(基)结构的某些成员变量。 结构库{ Int a; ) 派生的类:公共基础{ 私有: Int a; ... 在我的情况下,这是一个错误,导致了一个偷偷摸摸的错误(幸运的是在测试时被发现)。 由于我认为故意跟踪成员是非常罕见的(如果根本不被认为是糟糕的做法),我想知道为什么编译器没有发出至少一个警告(好的,不是错误,因为跟踪是法律
..
我正在寻找针对C++推荐的g++警告选项列表,但只找到了以下内容:Recommended gcc warning options for C和Useful GCC flags for C,它们都是C语言特有的 -WALL和-WExtra启用GCC可以生成的大部分(但不是全部)警告。 哪些警告不是由这些选项启用的,尤其是在编译C++时? 推荐答案 -Wall -Wextra往
..
如果此问题已得到回答,请原谅。 #include #include #include using namespace std; int main () { srand( time(NULL) ); cout
..
我在项目中遇到了一些奇怪的GCC警告。让我们在3个文件中查看这个简单的示例: struct.h typedef struct { int a; long b; char *c; } myStruct; 函数.c #include #include #include "struct.h" myStruct* f
..
在下面的程序中,如果算术表达式出现问题,我们如何让编译器发出警告/错误。 如果算术表达式产生的值超过其类型的最大值,我希望编译器发出警告/错误。 我用gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)编译了下面的程序,使用的编译命令是gcc int_promo_flags.c -Wall -Wextra 我期待来自第long long int y
..
我的GCC版本(5.4)警告未使用的static函数,即使在使用-Wall时在头文件中也是如此。如果定义了相同的函数static inline或简单地定义了inline,则不会出现错误。 例如,文件中的以下函数unused.h: static void foo() {} .包括在test.cpp文件中时,如下所示: #include "unused.h" 使用-Wall编
..
我正在使用以下代码从用户的图库中挑选图像。 Future getImageFromGallery(BuildContext context) async { await ImagePicker.platform() .pickImage(source: ImageSource.gallery) .then((image) { if (ima
..
我的这部分代码有一些问题: Employees.cpp: void Employees::delete_employee() { int employee_number; cout>Employee_number; for(std::
..
我下课 class Cdata12Mnt { public: char IOBname[ID1_IOB_PIOTSUP-ID1_IOB_TOP][BOADNAM_MAX + 4]; char ExIOBname[ID1_MAX_INF-ID1_EXIOB_U1TOP][BOADNAM_MAX + 4]; char cflpath[256]; char base
..
在 Visual C++ 中,可以使用 #pragma 警告(禁用: ...).我还发现在 GCC 中你可以 覆盖每个文件编译器标志.如何为“下一行"或使用 GCC 的代码区域周围的推送/弹出语义执行此操作? 解决方案 好像是这个可以做到.我无法确定它添加的 GCC 版本,但它是在 2010 年 6 月之前的某个时间. 这是一个例子: #pragma GCC 诊断错误“-Wunin
..
boost::mutex::scoped_lock 是一个方便的 RAII 包装器,用于锁定互斥锁.我对其他事情使用了类似的技术:一个 RAII 包装器,它要求数据接口从/重新连接到串行设备. 但是,我想不通的是为什么在下面的代码中只有我的对象 mst —其实例化和销毁确实有副作用 —导致 g++ 发出“未使用变量"警告错误,而 l 设法保持沉默. 你知道吗?你能告诉我吗? [gen
..
考虑以下程序: #include 结构 S {S (){}私人的:无效 *ptr = nullptr;std::string str = "";};int main(){} 当在 GCC 4.7.1 上使用 -Weffc++ 编译时,会吐出: 警告:“结构 S"具有指针数据成员 [-Weffc++]警告:但不会覆盖 'S(const S&)' [-Weffc++]警告:或 '
..
我今天写了一些代码,得到一个奇怪的编译错误,这似乎是由于初始化成员变量的顺序与声明的顺序不同. 例子: 类测试{诠释一个;诠释 b;上市:测试():b(1),a(2){}};int main() {测试一下;返回0;} 如果我用 -Werror -Wall 编译它: $ g++ -Werror -Wall test.cpptest.cpp:在构造函数“Test::Test()"中:te
..
以下是一些明显有缺陷的代码,我认为编译器应该对其进行诊断.但是 gcc 和 g++ 都没有,即使有我能想到的所有警告选项: -pedantic -Wall -Wextra #include 短 f(短 x){返回 x;}主函数(){长 x = 0x10000007;/* 比短大 */printf("%d\n", f(x));/* 希望这里有一个警告 */返回0;} 有没有办法
..