Je veux imprimer les informations que si _DEBUG
est définiimpression que si _DEBUG défini: c
#define DEBUG(y) y == true ? #define _DEBUG true : #define _DEBUG false
#ifdef _DEBUG
#define Print(s) printf(s);
#endif
Obtenir erreur:
error: '#' is not followed by a macro parameter
Toute suggestion comment y parvenir avec les directives pré-processeur?
Je l'intention de l'utiliser de mon principal comme:
DEBUG(true);
Print("Inside main in debug mode");
De mon understaning, les déclarations de préprocesseur sont évalués avant de compiler. Ainsi, le prétraitement évaluerait les instructions #Define avant d'appliquer votre logique. @JohnZwinck a la même approche que je prendrais. – Dan