Condividi tramite


Errore del compilatore C3707

'function': il metodo dispinterface deve avere un dispid

Osservazioni:

Se si usa un dispinterface metodo, è necessario assegnarlo a .dispid Per correggere l'errore, assegnare un dispid oggetto al dispinterface metodo , ad esempio annullando il commento dell'attributo id sul metodo nell'esempio seguente. Per altre informazioni, vedere gli attributi dispinterface e id.

Example

L'esempio seguente genera l'errore 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() {
}