Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
förväntat konstant uttryck
Anmärkningar
Kontexten kräver ett konstant uttryck, ett uttryck vars värde är känt vid kompileringstillfället.
Kompilatorn måste känna till storleken på en typ vid kompileringstiden för att allokera utrymme för en instans av den typen.
Exempel
Följande exempel genererar C2057 och visar hur du åtgärdar det:
// 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 har mer restriktiva regler för konstanta uttryck. Följande exempel genererar C2057 och visar hur du åtgärdar det:
// 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
}