2
Voici doesn't compile:avertissement paramétrés réduire au silence des problèmes macro
#define SUPPRESS(w) _Pragma("GCC diagnostic ignored " ## w)
SUPPRESS("-Wuseless-cast")
int main() {
int a = (int)4;
return a;
}
Voici l'erreur:
error: pasting ""GCC diagnostic ignored "" and ""-Wuseless-cast"" does not give a valid preprocessing token
Comment puis-je obtenir pour travailler?
En fonction de la [phase de traduction] (http://en.cppreference.com/w/cpp/language/translation_phases) la directive '_Pragma' est gérée, vous pouvez peut-être vous fier à la chaîne littérale consécutive standard enchaînement. Cela signifie que si vous avez deux constantes de chaîne littérales avec seulement des espaces (ou des commentaires) entre elles, elles seront automatiquement concaténées en une seule chaîne. Si c'est le cas, vous n'avez pas besoin de l'opérateur de concaténation du préprocesseur. Vous pourriez vouloir essayer cela. –
@Someprogrammerdude comme '' '_Pragma (" diagnostic GCC ignoré "w)' '' '? ne fonctionne pas. Aussi, vous pouvez expérimenter avec le lien du compilateur en ligne que j'ai fourni. – onqtam