'function': ディスパッチ インターフェイス は dispid を必要とします
dispinterface
メソッドを使用する場合は、dispid
メソッドを割り当てる必要があります。 このエラーを修正するには、たとえば、以下のサンプルのメソッドの id
属性のコメントを解除して、dispid
を dispinterface
メソッドに割り当てます。 詳細については、「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() {
}