Take warnings to heart: Use your compiler’s highest warning level. Require clean (warning-free) builds. Understand all warnings. Eliminate warnings by changing your code, not by reducing the warning level.
Your compiler is your friend. If it issues a warning for a certain construct, often there’s a potential problem in your code.
Successful builds should be silent (warning-free). If they aren’t, you’ll quickly get into the habit of skimming the output, and you will miss real problems. (See Item 2.)
To get rid of a warning: a) understand it; and then b) rephrase your code to eliminate the warning and make it clearer to both humans and compilers that the code does what you intended. ...