Compilerfehler C3136

Aktualisiert: November 2007

Fehlermeldung

'Schnittstelle': Eine COM-Schnittstelle kann nur von einer anderen COM-Schnittstelle erben, 'Schnittstelle' ist keine COM-Schnittstelle
'interface' : a COM interface can only inherit from another COM interface, 'interface' is not a COM interface

Eine Schnittstelle, auf die ein interface-Attribut angewendet wurde, erbt von einer Schnittstelle, die keine COM-Schnittstelle ist. Eine COM-Schnittstelle erbt schließlich von IUnknown. Alle Schnittstellen, denen ein Schnittstellenattribut vorausgeht, sind COM-Schnittstellen.

Im folgenden Beispiel wird C3136 generiert:

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

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

[object]
__interface B : A
{
   int aa();
};