Я пытаюсь сделать (то, что я бы мог подумать) была простым макрос расширенияC препроцессор макроподстановка
#define CLEAR_DIGIT(a,b) iconMap[a] &= ~(b)
#define R1 4, 16
CLEAR_DIGIT(R1);
Теперь я хотел бы ожидать, что расширить до CLEAR_DIGIT (4,16), который расширяет к iconMap [4] & = ~ 16 Однако, это не ... Если я CLEAR_DIGIT функцию:
void ClearDigit(unsigned char a, unsigned char b)
{
iconMap[a] &= ~b;
}
#define R1 4, 16
ClearDigit(R1);
то он работает отлично, поэтому R1 расширяется к двум аргументам не проблема ... Есть ли способ заставить его расширить R1, прежде чем делать расширение макрофункции?
Связанный: http://stackoverflow.com/questions/3776750/macros-evaluation-in-c-programming-language – MByD