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


Предупреждение компилятора (уровень 4) C4680

"class" : coclass не указывает интерфейс по умолчанию

Интерфейс по умолчанию не указан для класса, помеченного атрибутом сокласса. Чтобы объект был полезным, он должен реализовать интерфейс.

Следующий пример приводит к возникновению ошибки C4680:

// C4680.cpp
// compile with: /W4
#include <windows.h>
[module(name="MyModule")];

[ object, uuid(373a1a4c-469b-11d3-a6b0-00c04f79ae8f) ]
__interface IMyIface1
{
   HRESULT f1();
};

[ object, uuid(37331a4c-469b-11d3-a6b0-00c04f79ae8f) ]
__interface IMyIface2
{
   HRESULT f1();
};

// to resolve C4680, specify a source interface also
// for example, default(IMyIface1, IMyface2)
[ coclass, uuid(373a1a4d-469b-11d3-a6b0-00c04f79ae8f), default(IMyIface1), source(IMyIface1) ]
class CMyClass : public IMyIface1
{   // C4680
};

int main()
{
}