Avviso del compilatore (livello 1) C4401

'bitfield': member is bit field

Il codice assembly inline tenta di accedere a un membro del campo di bit. L'assembly inline non può accedere ai membri del campo di bit, quindi l'ultimo limite di compressione prima che venga usato il membro del campo di bit.

Per evitare questo avviso, eseguire il cast del campo di bit in un tipo appropriato prima di creare il riferimento nel codice dell'assembly inline. L'esempio seguente genera l'errore C4401:

// C4401.cpp
// compile with: /W1
// processor: x86
typedef struct bitfield {
   signed bit : 1;
} mybitfield;

int main() {
   mybitfield bf;
   bf.bit = 0;
   __asm {
      mov bf.bit,0;   // C4401
   }

   /* use the following __asm block to resolve the warning
   int i = (int)bf.bit;
   __asm {
      mov i,0;
   }
   */
}