C6314
avviso C6314: Ordine errato delle operazioni: l'operatore OR bit per bit ha maggiore precedenza dell'operatore di espressione condizionale.Aggiungere delle parentesi per chiarire lo scopo
Il messaggio indica che è stata individuata un'espressione operatore OR bit per bit (|) nell'espressione testata di un'operazione condizionale (?:).
L'operatore condizionale ha una precedenza minore rispetto agli operatori OR bit per bit.Qualora l'espressione sottoposta a test dovesse contenere l'operatore OR bit per bit, l'espressione condizionale dovrà essere racchiusa tra parentesi.
Esempio
Il codice seguente genera questo avviso:
int SystemState();
int f(int SignalValue)
{
return SystemState() | (SignalValue != 0) ? 1 : 0;
}
Per risolvere il problema, utilizzare il codice seguente:
int SystemState();
int f(int SignalValue)
{
return SystemState() | ((SignalValue != 0) ? 1 : 0);
}