我有一个简单的 IDL 文件,它只包含一个 enum
。其中一个标识符是 cy
。
[
uuid(2642345F-F2AB-3600-8926-26E823800902),
version(1.0),
]
library MyLib
{
typedef[ uuid(a0b0aa7b-345f-4b3a-b88f-d6cdd048e205) ]
enum Codes
{
cy,
abc
} Codes;
};
但是,MIDL 不会编译它并给我一个错误,如:
MIDL2025: expecting an identifier near "cy"
我的第一个猜测是 cy
是 MIDL 中的关键字/保留字——但事实并非如此。
我的第二个猜测是 cy
已经在某处使用过或者是一种类型——但事实并非如此。
对这里可能出现的问题有什么想法吗?
最佳答案
根据一些实验,编译器似乎拒绝了 WTypes.h 中不区分大小写的名称。
例如,它还会拒绝这些名称:
byte_blob
bstr
clipdata
decimal
userbitmap
userhbitmap
remhglobal
statflag
...etc...
关于c++ - MIDL 编译错误 : enum with "cy",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27956629/