Ошибка компилятора C3136
"interface": COM-интерфейс может наследоваться только от другого COM-интерфейса, "интерфейс" не является COM-интерфейсом.
Интерфейс, к которому применен атрибут интерфейса, наследуется от интерфейса, который не является COM-интерфейсом. Интерфейс COM в конечном счете наследует от IUnknown
. Любой интерфейс, предшествующий атрибуту интерфейса, является COM-интерфейсом.
В следующем примере создается 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();
};