不断编译器会不断触发警告?

时间:2012-01-07 11:35:06

标签: c++ visual-c++ gcc compiler-warnings clang

在编写this question的答案后,在编译时显示解决方案时出错,我想知道是否有可能得到警告并完成编译(如问题中实际指定的那样)。

虽然诊断通常依赖于编译器,但对于某些代码来说,很明显会触发错误(例如访问不存在的成员或尝试实例化不完整类型的对象)。

虽然警告不能说同样的,因为编译器之间的差别很大。即使假设用GCC触发的警告也会被Clang触发是合理的,但对于Visual C ++来说也是如此。

问题:
所有三个提到的编译器会一直触发哪些警告(如果有的话)?

关于VC ++的{p> /W3和关于GCC&的-Wall可以假设Clang。


请注意,这不仅对该问题有用,而且对于触发用户定义消息的警告也很有用。

1 个答案:

答案 0 :(得分:2)

这适用于MSVC,GCC和Clang:

#pragma message("hello world")

不是很有用,但仍有效。

这些也发出警告:

  • 未使用的变量
  • 未使用的标签
  • 大值,例如(1 <&lt; 128)