Megosztás a következőn keresztül:


C2131 fordítási hiba

kifejezés nem lett kiértékelve állandóként

Megjegyzések

A kifejezés, amelyet const-ként vagy constexpr-ként állandóként jelentettek be, nem értékelődött ki állandóvá a fordítás idején. A fordítónak képesnek kell lennie meghatározni a kifejezés értékét a használat helyén.

példa

Ez a példa bemutatja a C2131 hiba okának módját és a hiba kijavításának módját.

// 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'

Lásd még

const
constexpr