[英]Warnings that will consistently get triggered across different compilers?
在写完这个问题的答案后,在编译时显示解决方案并出现错误,我想知道是否有可能得到警告并完成编译(正如问题中实际指定的那样)。
虽然诊断通常是依赖于编译器的,但对于某些代码来说,很明显会触发错误(例如访问不存在的成员或尝试实例化不完整类型的对象)。
但是,警告不能说同样的,因为这些编译器之间的差别很大。 即使假设用GCC触发的警告也会被Clang触发是合理的,但对于Visual C ++来说也是如此。
题:
在所有三个提到的编译器中,将始终触发哪些警告(如果有)?
可以假设VC ++上的/W3
和GCC上的-Wall
&Clang。
请注意,这不仅对该问题有用,而且对于触发用户定义消息的警告也很有用。
这适用于MSVC,GCC和Clang:
#pragma message("hello world")
不是很有用,但仍然有效。
这些也发出了警告:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.