Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Výraz se nevyhodnotil jako konstanta.
Poznámky
Výraz deklarovaný jako const konstanta v době kompilace nebo constexpr se nevyhodnotil jako konstanta. Kompilátor musí být schopen určit hodnotu výrazu v okamžiku, kdy se používá.
Příklad
Tento příklad ukazuje způsob, jak způsobit chybu C2131 a jak ji opravit.
// 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'