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


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

"интерфейс": интерфейс не может одновременно быть "restricted" и "default" в компонентном классе "класс"

Атрибут restricted и атрибут default являются взаимоисключающими.

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

// C3340.cpp
#include <windows.h>
[module(name="MyModule")];

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

[ coclass, uuid(373a1a4d-469b-11d3-a6b0-00c04f79ae8f),
default(IMyIface),
source(IMyIface),restricted(IMyIface) ]
class CmyClass // C3340
{
};

int main()
{
}