Avviso C6314
Ordine di operazioni non corretto: bit per bit o ha una precedenza superiore rispetto all'operatore di espressione condizionale. Aggiungere parentesi per chiarire la finalità
Osservazioni:
Questo messaggio indica che è stata rilevata un'espressione che contiene un operatore bit per bit (|
) nell'espressione testata di un'operazione condizionale (?:
).
L'operatore condizionale ha una precedenza inferiore rispetto agli operatori bit per bit. Se l'espressione testata deve contenere l'operatore bit per bit o , le parentesi devono essere aggiunte intorno all'espressione condizionale.
Nome dell'analisi del codice: BITORVSQUESTION
Esempio
Il codice seguente genera questo avviso:
int SystemState();
int f(int SignalValue)
{
return SystemState() | (SignalValue != 0) ? 1 : 0;
}
Per correggere questo avviso, usare il codice seguente:
int SystemState();
int f(int SignalValue)
{
return SystemState() | ((SignalValue != 0) ? 1 : 0);
}
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per