Bonjour à tous,

Je me présente ici pour demander un petit renseignement sans doute anodin mais qui m'agace de ne pas savoir pourquoi
Si je compile ça sous Visual Studio 2008 Express.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
struct myStruct
{
    bool m_myBool;
};
 
int main()
{
    m_myBool = ~m_myBool;
}
J'ai le droit a deux warnings
warning C4804: '~' : unsafe use of type 'bool' in operation
warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)

Alors pourquoi? le bitwise n'est pas sur? Est ce une question de BigEndian et LittleEndian qui ferait que ce ne sera pas sur sur toute les machines?

Ou bien d'autre raison pour me dire ça.

Merci