Compiler Error C3136


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at Compiler Error C3136.

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();