编译器错误 C3707
“function”:调度接口方法必须有 dispid
如果使用 dispinterface
方法,则必须为其分配 dispid
。 若要修复此错误,请将 dispid
分配到 dispinterface
方法,例如在以下示例中,通过针对该方法取消注释 id
属性。 有关详细信息,请参阅属性 dispinterface 和 id。
以下示例生成 C3707:
// C3707.cpp
#include <atlbase.h>
#include <atlcom.h>
#include <atlctl.h>
[module(name="xx")];
[dispinterface]
__interface IEvents : IDispatch
{
HRESULT event1([in] int i); // C3707
// try the following line instead
// [id(1)] HRESULT event1([in] int i);
};
int main() {
}