0
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: /

4

2 回答 2

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;
于 2013-03-26T06:21:26.253 回答
3

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

这就是函数的用途。

于 2013-03-26T06:17:49.850 回答