共用方式為


編譯器警告 (層級 1) C4742

' variable ' 在 ' file1' 和 ' file2 ' 中有不同的對齊方式: number1 number2

在兩個檔案中參考或定義的外部變數在這些檔案中有不同的對齊方式。

備註

當編譯器發現 alignof file1 中變數的 變數與 file2 中的 變數不同 alignof 時,就會發出這個警告。 當宣告不同檔案中的變數,或在不同檔案中使用非比 #pragma pack 對時,可能會使用不相容的類型。

若要解決此警告,請使用相同的類型定義,或針對變數使用不同的名稱。

如需詳細資訊,請參閱 pack alignof 運算子

範例

這是定義類型的第一個檔案。

// C4742a.c
// compile with: /c
struct X {
   char x, y, z, w;
} global;

下列範例會產生 C4742。

// C4742b.c
// compile with: C4742a.c /W1 /GL
// C4742 expected
extern struct X {
   int a;
} global;

int main() {
   global.a = 0;
}