'interface' : a COM interface can only inherit from another COM interface, 'interface' is not a COM interface
An interface to which you applied an interface attribute inherits from an interface that is not a COM interface. A COM interface, ultimately, inherits from IUnknown. Any interface preceded by an interface attribute is a COM interface.
The following code shows how this error is generated and how you correct it.
// compile with cl /c #include "unknwn.h" _interface A { // could use _interface A : IUnknown { int a(); }; [com] __interface B : A { int aa(); };