Avviso del compilatore (livello 4) C4681
'class': la coclasse non specifica un'interfaccia predefinita che sia origine di eventi
Un'interfaccia di origine non è stata specificata per una classe.
L'esempio seguente genera l'errore C4681:
// C4681.cpp
// compile with: /W4 /c
#define _ATL_ATTRIBUTES 1
#include <atlbase.h>
#include <atlcom.h>
[module(name="test")];
[dual, uuid("00000000-0000-0000-0000-000000000000")]
__interface IEvent { [id(3)] HRESULT myEvent(); };
[object, uuid("00000000-0000-0000-0000-000000000001")]
__interface ISource { HRESULT Fire(); };
[ coclass,
source(IEvent),
default(ISource),
// Uncomment the following line to resolve.
// default(IEvent),
uuid("00000000-0000-0000-0000-000000000002")
]
struct CSource : ISource { // C4681
HRESULT Fire() { return 0; }
};