コンパイラ エラー C3707
'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() {
}