Błąd kompilatora C3707

"function": metoda dispinterface musi mieć identyfikator dispid

Jeśli używasz dispinterface metody, musisz przypisać jej dispidelement . Aby naprawić ten błąd, przypisz dispid element do dispinterface metody, na przykład, usuwając komentarz id atrybutu w metodzie w poniższym przykładzie. Aby uzyskać więcej informacji, zobacz atrybuty dispinterface i id.

Poniższy przykład generuje kod 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() {
}