erreur: invalid opérandes de type 'int' et '<non résolus fonction surchargée type>' binaire 'operator<<"

je veux obtenir les 6 bits de la 48e caractère de z_Data

{
    char c = pPkt->z_Data[47];                //this z_Data is a char buffer
    std::cout<<(c>>3)&1<<std::endl;
    std::cout<<(c>>4)&1<<std::endl;
    std::cout<<(c>>5)&1<<std::endl;
}
<< (et >>) sont plus élevés dans l'ordre de priorité que &.
Pourquoi & a une faible priorité: à l'origine dans C le développement de l' && n'existent pas; & a également été utilisé pour le ET logique. >> a été de décalage de bits, donc pour l'intention a >> b AND c , il était naturel que & avait la priorité inférieure. Quand ils ont ajouté && qu'ils ne veulent pas de changement de code existant qui a travaillé avec &.

OriginalL'auteur Sachyy_J | 2014-07-10