私は(私は考えを持っているだろうか)やろうとしている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);
を2つの引数に出て展開され、R1はないので、それは、正常に動作します問題...マクロ機能拡張を行う前にR1を拡張する方法はありますか?
関連資料:http://stackoverflow.com/questions/3776750/macros-evaluation-in-c-programming-language – MByD