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() {
}