Aracılığıyla paylaş


Derleyici Hatası C2864

'member-name' : Sınıf içi başlatıcısı olan statik veri üyesinin geçici olmayan sabit integral türü olmalıdır

Açıklamalar

tam sayı türü olmayanconst veya olmayan olarak volatiletanımlanan bir static veri üyesini başlatmak için üye tanımı deyimini kullanın. Bunlar bir bildirimde başlatılamaz.

Örnek

Bu örnek C2864 oluşturur:

// C2864.cpp
// compile with: /c
class B  {
private:
   int a = 3;   // OK
   static int b = 3;   // C2864
   volatile static int c = 3;   // C2864
   volatile static const int d = 3;   // C2864
   static const long long e = 3;   // OK
   static const double f = 3.33;   // C2864
};

Bu örnek C2864 hatasının nasıl giderileceğini gösterir:

// C2864b.cpp
// compile with: /c
class C  {
private:
   int a = 3;
   static int b; // = 3; C2864
   volatile static int c; // = 3; C2864
   volatile static const int d; // = 3; C2864
   static const long long e = 3;
   static const double f; // = 3.33; C2864
};

// Initialize static volatile, non-const, or non-integral
// data members when defined, not when declared:
int C::b = 3;
volatile int C::c = 3;
volatile const int C::d = 3;
const double C::f = 3.33;