Поделиться через


Ошибка компилятора C3707

Function: метод dispinterface должен иметь диспидированный

Замечания

Если используется dispinterface метод, его dispidнеобходимо назначить. Чтобы устранить эту ошибку, назначьте dispid методу dispinterface, например, раскомментировав атрибут id на методе в приведенном ниже примере. Дополнительные сведения см. в разделах атрибутов dispinterface и id.

Example

В следующем примере генерируется 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() {
}