경고 C26498
'function' 함수는 constexpr이고 컴파일 시간 계산이 필요한 경우 변수 'variable' constexpr을 표시합니다(con.5).
이 규칙은 C++ 핵심 지침에서 Con.5를 적용하는 데 도움이 됩니다. 컴파일 시간에 계산할 수 있는 값에 constexpr을 사용합니다.
설명
이 경고는 초기 할당 후에 값이 변경되지 않는 변수constexpr
가 아닌 모든 변수에 함수의 결과를 constexpr
할당하여 트리거됩니다.
코드 분석 이름: USE_CONSTEXPR_FOR_FUNCTIONCALL
예시
이 샘플 코드는 C26498이 나타날 수 있는 위치를 보여줍니다.
constexpr int getMyValue()
{
return 1;
}
void foo()
{
constexpr int val0 = getMyValue(); // no C26498
const int val1 = getMyValue(); // C26498, C26814
int val2 = getMyValue(); // C26498, value is never modified
int val3 = getMyValue(); // no C26498, val3 is assigned to below.
val3 = val3 * val2;
}
문제를 해결하려면 다음을 표시 val1
합니다.val2
constexpr
constexpr int getMyValue()
{
return 1;
}
void foo()
{
constexpr int val0 = getMyValue(); // OK
constexpr int val1 = getMyValue(); // OK
constexpr int val2 = getMyValue(); // OK
int val3 = getMyValue(); // OK
val3 = val3 * val2;
}
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기