【发布时间】:2016-01-06 14:12:53
【问题描述】:
我惊讶地发现 g++ (4.9) 正在编译它(而 gcc 不会):
#include <stdio.h>
enum
{
ONE = 1,
TWO = 2,
THREE = 3
};
int main(int argc, char* argv[])
{
int sw = 2;
switch (sw)
{
case::ONE:
{
printf("1\n");
break;
}
case::TWO:
{
printf("2\n");
break;
}
case::THREE:
{
printf("3\n");
break;
}
default:
{
printf("default\n");
}
}
}
g++ 预处理器如何将“case”与“::ONE:”分开?
【问题讨论】: