Błąd kompilatora C3707Compiler Error C3707

"Function": Metoda dispinterface musi mieć identyfikator DISPID'function' : dispinterface method must have a dispid

Jeśli używasz dispinterface metody, musisz ją przypisać dispid .If you use a dispinterface method, you must assign it a dispid. Aby naprawić ten błąd, należy przypisać dispid do dispinterface metody, na przykład przez usunięcie komentarza id atrybutu metody w poniższym przykładzie.To fix this error, assign a dispid to the dispinterface method, for example, by uncommenting the id attribute on the method in the sample below. Aby uzyskać więcej informacji, zobacz atrybuty dispinterface i ID.For more information, see the attributes dispinterface and id.

Poniższy przykład generuje C3707:The following sample generates 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() {
}