mbl*_*mbl 1 midl win-universal-app uwp c++-winrt
我有一个运行时类,我想向其中添加一个枚举。我已经按照此处的 MSDN 文档的建议尝试了以下语法:https : //docs.microsoft.com/en-ca/uwp/midl-3/intro
namespace my_project
{
runtimeclass my_rt_class
{
enum my_enum
{
first = 0,
second = 1
};
}
}
Run Code Online (Sandbox Code Playgroud)
但是我从 MIDL 收到以下错误:
error MIDL2025: [msg]syntax error [context]: expecting an identifier near ";"
Run Code Online (Sandbox Code Playgroud)
什么是正确的语法?我正在使用10.0.17763.0Windows SDK 的版本。
您不能在类型中嵌套枚举。从您链接到的文档中:
MIDL 3.0 声明中的关键组织概念是名称空间、类型和成员。MIDL 3.0 源文件(一个
.idl文件)至少包含一个命名空间,其中包含类型和/或从属命名空间。每种类型都包含零个或多个成员。
- 类、接口、结构和枚举都是类型。
- 字段、方法、属性和事件是成员的示例。
由于枚举是类型,它们必须出现在命名空间中。您需要将您的 IDL 更改为:
namespace my_project
{
enum my_enum
{
first = 0,
second = 1
};
runtimeclass my_rt_class
{
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1781 次 |
| 最近记录: |