Aracılığıyla paylaş


Derleyici Hatası C2057

beklenen sabit ifade

Açıklamalar

Bağlam, değeri derleme zamanında bilinen bir ifade olan sabit bir ifade gerektirir.

Derleyicinin, bu türdeki bir örneğe alan ayırmak için derleme zamanında bir türün boyutunu bilmesi gerekir.

Örnekler

Aşağıdaki örnek C2057 oluşturur ve nasıl düzeltileceğini gösterir:

// C2057.cpp
int i;
int b[i];   // C2057 - value of i is unknown at compile time
int main() {
   const int i = 8;
   int b[i]; // OK - value of i is fixed and known to compiler
}

C, sabit ifadeler için daha kısıtlayıcı kurallara sahiptir. Aşağıdaki örnek C2057 oluşturur ve nasıl düzeltileceğini gösterir:

// C2057b.c
#define ArraySize1 10
int main() {
   const int ArraySize2 = 10;
   int h[ArraySize2];   // C2057 - C does not allow variables here
   int h[ArraySize1];   // OK - uses preprocessor constant
}