Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
expression non ha restituito una costante
Osservazioni:
Un'espressione dichiarata come const o constexpr non ha restituito una costante in fase di compilazione. Il compilatore deve essere in grado di determinare il valore dell'espressione nel punto in cui viene usato.
Esempio
Questo esempio mostra un modo per causare l'errore C2131 e come risolverlo.
// 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'