共用方式為


編譯器警告 (層級 1) C4401

'bitfield' : 成員是位字段

內嵌元件程式代碼會嘗試存取位欄位元成員。 內嵌元件無法存取位字段成員,因此使用位字段成員之前的最後一個封裝界限。

若要避免這個警告,請在內嵌元件程式代碼中參考之前,將位字段轉換成適當的類型。 下列範例會產生 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;
   }
   */
}