次の方法で共有


コンパイラ エラー C3707

'function': ディスパッチ インターフェイス は dispid を必要とします

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