Partager via


Erreur du compilateur C3707

'function' : la méthode dispinterface doit avoir une dispid

Si vous utilisez une dispinterface méthode, vous devez l’affecter à un dispid. Pour corriger cette erreur, affectez une dispid à la dispinterface méthode, par exemple, en supprimant les marques de commentaire de l’attribut id sur la méthode dans l’exemple ci-dessous. Pour plus d’informations, consultez les attributs dispinterface et id.

L’exemple suivant génère l’erreur 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() {
}