我一直都认为正规项目都会要求/W4下无warning。Windows之类的甚至要求/Wall下无warning。实在避不开的用#pragma关掉,并注明原因。KlayGE很早就做到了vc下/W4,其他编译器上的任何一个warning都需要严密观察。
总之,无warning其实是个很基本的要求才对。/W4 /WX会让后续开发容易很多。warning里面往往包含了很多重要信息。别等debug到昏天黑地后才发现其实warning已经告诉你了。
因为世界上九成九的项目是瞎搞的,自然无视Warning。正经的项目都是Treat all warning as error的。