Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
wyrażenie nie zostało obliczone na stałą
Uwagi
Wyrażenie zadeklarowane jako const lub constexpr nie zostało obliczone na stałą w czasie kompilacji. Kompilator musi mieć możliwość określenia wartości wyrażenia w momencie jego użycia.
Przykład
W tym przykładzie pokazano sposób, aby spowodować błąd C2131 i jak go naprawić.
// 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'