Поделиться через


Ошибка компилятора C2216

"ключевое_слово1" нельзя использовать с "ключевое_слово2"

Использованные вместе, эти два ключевых слова являются взаимоисключающими.

Примеры

В следующем примере возникает ошибка C2216.

// C2216.cpp
// compile with: /clr /c
ref struct Y1 {
   literal
   static int staticConst2 = 10;   // C2216
};

В следующем примере возникает ошибка 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
};

В следующем примере возникает ошибка 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
};