出错的选项:冲突类型错误作为警告

时间:2015-05-19 10:18:19

标签: c gcc compiler-errors compiler-warnings suppress-warnings

我想知道是否可以启用任何编译器标志来处理

  

“错误:冲突类型”

错误警告。有没有这样的旗帜?

1 个答案:

答案 0 :(得分:2)

无法删除冲突类型 错误的情况。如果可能,那么有错误信息是什么意思?考虑以下情况

transferFrom()

汇编产生

  

prog.c:在函数'main'中:
  prog.c:5:8:错误:'p'的冲突类型     float p = 5;
           ^
  prog.c:4:6:注意:'p'的先前定义在这里     int p = 5;
        ^

这里有两个变量的名称冲突。这是一个错误,编译器无法继续,因此它会发出错误消息。如果您希望此错误变成仅仅警告并继续编译,那么如何确定下一步呢?那是不可能的。

但是,一个特殊情况,隐式函数声明也会触发此警告并启用#include <stdio.h> int main(void) { int p = 5; float p = 5; printf("%d %f\n", p, p); return 0; } 标志,它将给出错误。这种特殊情况可以绕过(请自担风险)。

  

从不试图自己尝试

如果您不希望警告进行隐式声明(导致冲突类型),您可以使用-Werror版{{1}我想这是为了达到这个目的。