컴파일러 오류 C2131
식이 상수로 계산되지 않았습니다.
컴파일 시 상수로 const
선언되거나 constexpr
계산되지 않은 식입니다. 컴파일러는 사용되는 지점에서 식의 값을 확인할 수 있어야 합니다.
예시
이 예제에서는 C2131 오류를 발생시키는 방법과 이를 해결하는 방법을 보여 드립니다.
// 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'