Dela via


Kompilatorvarning (nivå 1) C4742

Variabeln har olika justering i "file1" och "file2": number1 och number2

Anmärkningar

En extern variabel som refererades till eller definierades i två filer har olika justering i dessa filer.

Den här varningen genereras när kompilatorn upptäcker att alignof för variabeln i file1 skiljer sig från alignof för variabeln i file2. Detta kan orsakas av inkompatibla typer när du deklarerar variabeln i olika filer eller med hjälp av icke-matchande #pragma pack i olika filer.

Lös varningen genom att antingen använda samma typdefinition eller använda olika namn för variablerna.

Mer information finns i pack och alignof operator.

Example

Det här är den första filen som definierar typen.

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

I följande exempel genereras C4742.

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

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