【发布时间】:2011-09-06 10:24:30
【问题描述】:
这是我们在 VS2008 下成功使用的一个非常简单的 IDL 接口(为简洁起见缩短了参数列表):
interface Mailer
{
string findNode( [in] string requestedNode );
unsigned short addMessage( [in] string msg, [in] unsigned short kind );
};
我们正在将解决方案迁移到 VS2010 SP1。现在我们有以下构建错误:
M.idl(3): error MIDL2025: syntax error : expecting a type specification near "string"
这在使用 VS2008 SP1 时总是很有效
请注意,我已经将in 替换为[in]。在摸不着头脑的时候,我发现 MIDL 2010 也不喜欢in,但对[in] 没有说什么。
请注意,unsigned short 被接受(通过反转接口的 2 个方法观察到)。
怎么会?如何让 MIDL 再次理解string?
TIA。
【问题讨论】:
-
string 是 IDL 中的一个属性,但只能出现在 [brackets] 中,并且后面必须跟一个类型说明符。您使用它的方式表明您只是忘记包含您自己的名为“string”的类型的定义。
标签: c++ visual-studio-2010 idl midl