コンパイラ エラー C3702
'function' : COM イベントには ATL が必要です
必要な ATL ヘッダー ファイルをインクルードせずに COM イベントを使おうとしました。
次の例では C3702 が生成されます。
// C3702.cpp
// uncomment the following line to resolve
// #define _ATL_ATTRIBUTES 1
#include <atlbase.h>
#include <atlcom.h>
#include <atlctl.h>
[module(dll, name=idid, uuid="12341234-1234-1234-1234-123412341234")];
[object]
__interface IEvents : IUnknown
{
HRESULT event1([in] int i);
};
[dual]
__interface IBase
{
HRESULT fireEvents();
};
[coclass, event_source(com)]
class CEventSrc : public IBase
{
public:
__event __interface IEvents;
HRESULT fireEvents()
{
HRESULT hr = IEvents_event1(123);
return hr;
}
}; // C3702
int main() {
}