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


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

Interface: пользовательский интерфейс, который запускает события COM, не может наследоваться от IDispatch

Интерфейс, поддерживающий события COM, не может наследоваться.IDispatch Дополнительные сведения см. в разделе "Обработка событий" в COM.

Следующая ошибка приводит к возникновению ошибки C3732:

// C3732.cpp
#define _ATL_ATTRIBUTES 1
#include "atlbase.h"
#include "atlcom.h"

[module(name="test")];

// to resolve this C3732, use dual instead of object
// or inherit from IUnknown
[ object ]
__interface I : IDispatch
{
};

[ event_source(com), coclass ]
struct A
{
   __event __interface I;   // C3732
};

int main()
{
}