Existe-t-il un commutateur de compilateur permettant d’activer un seul avertissement dans Visual Studio?
La raison pour laquelle je pose cette question est que je souhaite activer l’avertissement C4265 qui est désactivé par défaut. Ma recherche a seulement révélé des moyens de désactiver les avertissements.
Même les pages Microsoft intitulées Comment: activer ou désactiver les avertissements du compilateur ne font que mentionner la désactivation.
Si vous voulez l’activer (ou le désactiver) dans les parameters du projet, vous devez aller à:
Configuration Properties -> C/C++ -> Command Line
, puis sous Options supplémentaires, vous pouvez entrer:
/w3####
pour définir votre avertissement au niveau 3 et l’activer ainsi; ou vous pouvez entrer /wd####
pour désactiver un avertissement.
#pragma warning(default:4265)
Il pourrait sembler que cela définirait l’avertissement sur son paramètre par défaut (qui serait désactivé), mais ce n’est pas le cas. Il l’allume.
http://msdn.microsoft.com/en-us/library/2c8f766e%28VS.80%29.aspx
Vous pouvez aussi faire ceci:
#pragma warning(X:4265) // where X is the warning level(1,2,3 or 4) that you want this warning to be generated at
Utilisation:
#pragma warning(default:4265)
et comstackr avec au moins /W3
.
Voici un exemple explicite de Microsoft:
http://msdn.microsoft.com/en-us/library/wzxffy8c(v=VS.90).aspx
Pour rendre plus visible le commentaire de Matthäus Brandl concernant #pragma warning
:
Si vous comstackz avec un niveau d’avertissement inférieur à 3, vous devez utiliser cette syntaxe:
#pragma warning (: 4265)
Ce n’est que si vous comstackz avec le niveau 3 ou supérieur que vous pouvez faire
#pragma warning (default: 4265)
car, pour l’avertissement 4265, default
niveau 3 (voir MSDN ).
La documentation de l’ #pragma warning
lit comme suit:
warning-specifier
Signification
1, 2, 3, 4
Appliquez le niveau donné au (x) avertissement (s) spécifié (s). Cela active également un avertissement spécifié qui est désactivé par défaut.
default
Réinitialise le comportement d’avertissement à sa valeur par défaut. Cela active également un avertissement spécifié qui est désactivé par défaut. L’avertissement sera généré à son niveau par défaut, documenté.