Aracılığıyla paylaş


Derleyici Uyarısı (Düzey 1) C4742

'değişken', 'file1' ve 'file2' içinde farklı hizalamaya sahip: sayı1 ve sayı2

Açıklamalar

İki dosyada başvurulmuş veya tanımlanmış bir dış değişken, bu dosyalarda farklı hizalamaya sahiptir.

Derleyici, dosya1'deki değişken için dosya2'dekialignof değişkenden alignof farklı olduğunu bulduğunda bu uyarı yayılır. Bunun nedeni, farklı dosyalarda değişken bildirildiğinde uyumsuz türlerin kullanılması veya farklı dosyalarda eşleşmeyenlerin #pragma pack kullanılması olabilir.

Bu uyarıyı çözmek için aynı tür tanımını kullanın veya değişkenler için farklı adlar kullanın.

Daha fazla bilgi için bkz pack . ve alignof işleci.

Örnek

Bu, türü tanımlayan ilk dosyadır.

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

Aşağıdaki örnek C4742 oluşturur.

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

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