'interface_name' : interfaces only support public inheritance
Interfaces defined with the interface (or __interface) keyword only support public inheritance.
For example, the following code generates C3141:
// compile: cl /c // #pragma keyword("interface", on) interface IBase {}; interface IDerived1 : protected IBase {}; // C3141 interface IDerived2 : private IBase {}; // C3141