Compartir a través de


Error del compilador C3136

"interface": una interfaz COM solo puede heredar de otra interfaz COM; "interface" no es una interfaz COM

Aquellas interfaces a las que se haya aplicado un atributo de interfaz heredan de cualquier interfaz que no sean del tipo COM. En última instancia, las interfaces COM heredan de IUnknown. Cualquier interfaz precedida por un atributo de interfaz es del tipo COM.

El ejemplo siguiente genera el error 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();
};