Delen via


Compilerwaarschuwing (niveau 1) C4742

'variabele' heeft een andere uitlijning in 'file1' en 'file2': getal1 en getal2

Opmerkingen

Een externe variabele waarnaar wordt verwezen of gedefinieerd in twee bestanden, heeft een andere uitlijning in die bestanden.

Deze waarschuwing wordt verzonden wanneer compiler vindt dat alignof voor de variabele in bestand1 verschilt van alignof die van de variabele in bestand2. Dit kan worden veroorzaakt door het gebruik van niet-compatibele typen bij het declareren van variabelen in verschillende bestanden of door niet-overeenkomende #pragma pack bestanden te gebruiken.

Als u deze waarschuwing wilt oplossen, gebruikt u dezelfde typedefinitie of gebruikt u verschillende namen voor de variabelen.

Zie en alignof operator voor meer informatiepack.

Example

Dit is het eerste bestand dat het type definieert.

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

In het volgende voorbeeld wordt C4742 gegenereerd.

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

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