KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I would like to do the equivalent of the following: #define print_max(TYPE) \ # ifdef TYPE##_MAX \ printf("%lld\n", TYPE##_MAX); \ # endif print_max(INT); Now the #ifdef or any nested preprocessor directive is not allowed as far as I can see in a function macro. Any ideas? Update: So it seems like this is not possible. Even a hack to check at runtime seems unachievable. So I think I'll go with something like: #ifndef BLAH_MAX # define BLAH_MAX 0 #endif # etc... for each type I'm interested in #define print_max(TYPE) \ if (TYPE##_MAX) \ printf("%lld\n", TYPE##_MAX); print_max(INT); print_max(BLAH);
Tags (comma-separated)
Save Edits
Cancel