Comment puis-je dire au préprocesseur de ne pas remplacer une macro spécifique?Empêcher le préprocesseur C d'effectuer une macro de substitution spécifique
Le problème spécifique est le suivant: Les fichiers d'en-tête Windows définissent la macro GetMessage.
Mes fichiers d'en-tête C++ avec mon API ont une méthode GetMessage. Je ne veux pas renommer ma méthode. Mais lors de l'utilisation de l'API sous Windows, y compris windows.h remplace mon appel de méthode GetMessage par GetMessageA.
L'exécution de #undef GetMessage n'est pas bonne, car le code qui utilise l'API utilise également Windows GetMessage. –
Ah, un autre exemple de l'utilisation indiscriminée des macros de Windows par le SDK clabaudant tous les espaces de noms (et pas seulement dans la fonctionnalité d'espace de noms de C++). –
@vincent: voir don.Le commentaire de newfeld dans la réponse '#undef GetMessage' de ShoeLace –