Aviso C26498
A função 'function' é constexpr, marca a variável 'variable' constexpr se a avaliação em tempo de compilação for desejada (con.5)
Essa regra ajuda a impor o Con.5 das Diretrizes Principais do C++: use constexpr para valores que podem ser calculados em tempo de compilação.
Comentários
O aviso é disparado atribuindo o resultado de uma função constexpr
a qualquer variável não constexpr
cujo valor não é alterado após a atribuição inicial.
Nome da análise de código: USE_CONSTEXPR_FOR_FUNCTIONCALL
Exemplo
Este código de exemplo mostra onde C26498 pode aparecer:
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;
}
Para corrigir os problemas, marque val1
e 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;
}
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários