Compiler Error C3136

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

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();  
};  
  
[object]  
__interface B : A  
{  
   int aa();  
};  

Show: