我在使用单独模块中定义的枚举时遇到麻烦.当我尝试访问它时,我收到"未定义的标识符"错误:
// CodeEnum.d
enum CodeEnum
{
OK = 200,
FAIL = 400
}
unittest
{
auto e = CodeEnum.OK; // Works!
}
Run Code Online (Sandbox Code Playgroud)
-
// Reply.d
import CodeEnum;
unittest
{
auto.e = CodeEnum.OK; // Error: undefined identifier 'OK'
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
顺便说一句,我也把它发布到了digitalmars-d-learn,但是我没有在互联网上看到我的电子邮件(列表存档或论坛) - 列表是以某种方式调节的吗?
小智 6
由于模块称为CodeEnum
,CodeEnum.OK
是指符号OK
的模块中CodeEnum
.
使用CodeEnum.CodeEnum.OK
或使用选择性导入:import CodeEnum: CodeEnum;
,或为模块或枚举提供不同的名称.