This documentation is archived and is not being maintained.

Compiler Error C3136

Error Message

'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 example generates C3136:

// C3136.cpp
#include "unknwn.h"

__interface A   // C3136
// try the following line instead
// _interface A : IUnknown
   int a();

__interface B : A
   int aa();