Compilerfehler C2131
Ausdruck wurde nicht als Konstante ausgewertet.
Ein Ausdruck, der zur Kompilierungszeit als const
Konstante deklariert oder constexpr
nicht ausgewertet wurde. Der Compiler muss in der Lage sein, den Wert des Ausdrucks an dem verwendeten Punkt zu bestimmen.
Beispiel
Dieses Beispiel zeigt eine Möglichkeit, Fehler C2131 zu verursachen und wie sie behoben werden kann.
// c2131.cpp
// compile by using: cl /EHsc /W4 /c c2131.cpp
struct test
{
static const int array_size; // To fix, init array_size here.
int size_array[array_size]; // C2131
};
const int test::array_size = 42;
c2131.cpp
c2131.cpp(7): error C2131: expression did not evaluate to a constant
c2131.cpp(7): note: failure was caused by non-constant arguments or reference to a non-constant symbol
c2131.cpp(7): note: see usage of 'array_size'
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für