다음을 통해 공유


컴파일러 오류 C3707

'function': dispinterface 메서드에 dispid가 있어야 합니다.

메서드를 사용하는 경우 메서드를 dispinterface 할당 dispid해야 합니다. 이 오류를 해결하려면 아래 샘플의 메서드에서 특성의 dispinterface 주석 처리를 제거하여 id 메서드에 할당 dispid 합니다. 자세한 내용은 dispinterfaceID 특성을 참조하세요.

다음 샘플에서는 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() {
}