Erro do compilador C3707
'function': o método dispinterface precisa ter um dispid
Se você usar um método dispinterface
, precisará atribuir um dispid
a ele. Para corrigir esse erro, atribua um dispid
ao método dispinterface
, por exemplo, descompactando o atributo id
no método no exemplo abaixo. Para obter mais informações, confira os atributos dispinterface e id.
O seguinte exemplo gera o erro 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() {
}