如何将其定义为宏?

时间:2013-03-26 06:15:48

标签: c++ c macros

case MAP_KEY3:
case MAP_KEY4:
case MAP_KEY5:
case MAP_KEY6:
    break;
default:
    LampShow(LampID, 0);
    LampShow(LampID, 2);
    LampShow(LampID, 0);
    break;

我想制作一个上面代码的MARCO,以便我可以反复使用它。但怎么办? 它适用于C语言。

如果我这样做:

#define AAA /
    case MAP_KEY3:  /
    case MAP_KEY4:  /
    case MAP_KEY5:  /
    case MAP_KEY6:  /
        break;      /
    default:        /
        LampShow(LampID, 0);   /
        LampShow(LampID, 2);   /
        LampShow(LampID, 0);   /
        break;

然后我会收到这个错误:

34: syntax error before `case'

第34行是case MAP_KEY3: /

2 个答案:

答案 0 :(得分:5)

#define EVIL_MACRO \
case MAP_KEY3: \
case MAP_KEY4: \
case MAP_KEY5: \
case MAP_KEY6: \
    break; \
default: \
    LampShow(LampID, 0); \
    LampShow(LampID, 2); \
    LampShow(LampID, 0); \
    break;

答案 1 :(得分:3)

  

我想制作上面代码的MARCO,以便我可以在任何地方重复使用

这就是函数的用途。