Mot*_*tti 5 com idl default-value
MS IDL具有指定defaultvalue for参数的语法.我试图为接受以下内容的函数指定默认值VARIANT_BOOL:
[id(42)] HRESULT Foo([in, defaultvalue(VARIANT_TRUE)] VARIANT_BOOL bar);
Run Code Online (Sandbox Code Playgroud)
并收到以下错误消息:
错误MIDL2035:预期的常量表达式
指定默认值bar应该是什么的正确语法是VARIANT_TRUE什么?
VARIANT_TRUE在WTypes.h中是#defined.您无法在.idl中直接使用它.常见的方法是直接使用该值,就像在mshtml.idl中完成一样,例如:
[id(42)] HRESULT Foo([in, defaultvalue(-1)] VARIANT_BOOL bar);
Run Code Online (Sandbox Code Playgroud)
或者,如果您愿意,可以在.idl中添加#define,将其放在靠近顶部的位置:
#define VARIANT_TRUE -1
#define VARIANT_FALSE 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2606 次 |
| 最近记录: |