有没有办法在枚举中使用关键字作为标识符?

Sup*_*Rey 18 c++ enums keyword

我一直无法找到是否有一种方法可以在枚举定义中使用关键字,例如:

enum class EServerAction
{
    create,
    read,
    update,
    delete
};
Run Code Online (Sandbox Code Playgroud)

在C#中,我可以使用@ char使编译器将其视为标识符.有没有办法在C++(Visual Studio 2015)中执行此操作?

Rah*_*thi 15

不,他们不能使用.

来自MSDN

关键字是具有特殊含义的预定义保留标识符.它们不能用作程序中的标识符.

规则的标识说:

标识符可用于命名对象,引用,函数,枚举器,类型,类成员,命名空间,模板,模板特化,参数包,转到标签和其他实体,但以下情况除外:

  • 作为关键字的标识符不能用于其他目的;
  • 保留任何地方带有双下划线的标识符;
  • 保留以下划线后跟大写字母开头的标识符;
  • 以下划线开头的标识符在全局命名空间中保留.