C++ avertissement: suggérer des parenthèses autour de l'arithmétique dans l'opérande de |

J'ai un code comme

A = B|C|D|E;

Lancer l'avertissement "suggérer des parenthèses autour de l'arithmétique dans l'opérande de |"

Attend à ce que l'expression de besoins de haute priorité paranthesis pour les opérateurs, essayé l'une des manières suivantes:

A=(B|C)|(D|E);

un de plus que :

A=(((B|C)|D)|E);

Toujours le même avertissement persiste.

Merci de m'aider dans la résolution de ce.

Grâce,
Sujatha

B, C,D sont des énumérations et E est un nombre entier.

le compilateur que vous utilisez?
Votre exemple compile sans warning avec GCC.
Quelles sont B, C, D et E, exactement?
Sont A,B,C,D des macros?
Exécuter votre fichier source par le biais de gcc -E et chercher à la sortie. Êtes-vous absolument certain que le compilateur interprétations de A, B, C, D, et E sont ce à quoi vous pensez qu'ils sont?

OriginalL'auteur Programmer | 2010-06-04