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();
};
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for