Compartir a través de


Error del compilador C3707

"function": el método dispinterface debe tener un valor dispid

Si usa un método dispinterface, debe asignarle un valor dispid. Para corregir este error, asigne un valor dispid al método dispinterface, por ejemplo, quitando la marca de comentario del atributo id en el método del ejemplo siguiente. Para más información consulte los atributos dispinterface e id.

El ejemplo siguiente genera el error 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() {
}