Chyba kompilátoru C2057
očekávaný výraz konstanty
Kontext vyžaduje konstantní výraz, výraz, jehož hodnota je známa v době kompilace.
Kompilátor musí znát velikost typu v době kompilace, aby mohl přidělit prostor pro instanci tohoto typu.
Příklady
Následující ukázka vygeneruje C2057 a ukazuje, jak ji opravit:
// 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
}
Jazyk C má více omezující pravidla pro konstantní výrazy. Následující ukázka vygeneruje C2057 a ukazuje, jak ji opravit:
// 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
}
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro