Est-il possible d'appeler des macros fonctionnelles avec moins de tous les paramètres dans Linux? En fait, cela ne génère qu'un avertissement dans Visual Studio (avertissement 4003) et les variables non affectées sont remplacées par "". Mais compiler en utilisant g ++ génère une erreur dans linux ("error: macro *** requires ** arguments, mais seulement ** given").Appeler une macro C++ avec moins d'arguments
Y a-t-il un moyen de le désactiver ou de le contourner?
Si vous utilisez C++, vous devez utiliser des fonctions en ligne au lieu de macros. En fait, en C++, évitez autant que possible d'utiliser le préprocesseur. – Dima
Oui ... si vous les utilisez pour autre chose que des gardes, vous êtes un macrobateur. ;-) –
Il existe encore quelques situations en C++ où les directives de préprocesseur et/ou les macros sont la seule réponse, par exemple le code de retour qui devrait être inclus dans les versions de débogage mais pas du tout dans les versions de release. Mais oui, en général, ils devraient être évités. –