Je suis d'accord qu'il est préférable d'éliminer tous les avertissements. Si vous obtenez des milliers de mises en garde vous devez prioriser vos corrections.
Commencer la configuration de votre compilateur pour le plus bas niveau d'avertissement. Ces mises en garde doivent être le plus important. Lorsque ceux-ci sont fixes, incrément de votre niveau d'avertissement et répétez jusqu'à ce que vous atteindre le plus haut niveau d'avertissement. Ensuite, définissez vos options de compilation telles que les alertes sont traitées comme des erreurs.
Si vous trouvez un avertissement que vous croyez qu'il est sûr d'ignorer, de faire des recherches pour vérifier votre théorie. Alors seulement le désactiver et uniquement dans le plus minime possible. La plupart des compilateurs ont #pragma
directives qui peuvent désactiver/activer les avertissements pour seulement une partie du fichier. Voici un Visual C++ exemple:
typedef struct _X * X; // from external header, not 64-bit portable
#pragma warning( push )
#pragma warning( disable: 4312 ) // 64-bit portability warning
X x = reinterpret_cast< X >( 0xDDDDDDDD ); // we know X not 64-bit portable
#pragma warning( pop )
Notez que cela ne désactive l'avertissement pour une seule ligne de code. En utilisant cette méthode vous permet également de faire un simple texte à la recherche de votre code dans l'avenir de faire des changements.
Sinon, vous pouvez généralement désactiver un avertissement particulier pour un seul fichier ou tous les fichiers. À mon humble avis c'est dangereux et ne doit être qu'un dernier recours.