Megosztás a következőn keresztül:


C2057-ös fordítási hiba

várt állandó kifejezés

Megjegyzések

A környezethez állandó kifejezésre van szükség, egy kifejezésre, amelynek értéke fordításkor ismert.

A fordítónak ismernie kell egy típus méretét a fordítási időpontban, hogy helyet foglaljon le egy ilyen típusú példány számára.

Példák

Az alábbi példa létrehozza a C2057-et, és bemutatja, hogyan javítható ki:

// 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
}

A C-ben szigorúbb szabályok vonatkoznak az állandó kifejezésekre. Az alábbi példa létrehozza a C2057-et, és bemutatja, hogyan javítható ki:

// 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
}