Compiler Error C2216
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Compiler Error C2216.
keyword1' cannot be used with ' keyword2'
Two keywords that are mutually exclusive were used together.
The following sample generates C2216.
// C2216.cpp
// compile with: /clr /c
ref struct Y1 {
literal
static int staticConst2 = 10; // C2216
};
The following sample generates C2216.
// C2216b.cpp
// compile with: /clr /c
public ref class X {
extern property int i { int get(); } // C2216 extern not allowed on property
typedef property int i2; // C2216 typedef not allowed on property
};
The following sample generates C2216.
// C2216c.cpp
// compile with: /clr /c
public interface struct I {
double f();
double g();
double h();
};
public ref struct R : I {
virtual double f() new override { return 0.0; } // C2216
virtual double g() new { return 0.0; } // OK
virtual double h() override { return 0.0; } // OK
};
Show: