Share via


Upozornění kompilátoru (úroveň 1) C4742

Proměnná má jiné zarovnání v souboru 1 a file2: číslo1 a číslo2.

Externí proměnná odkazovaná nebo definovaná ve dvou souborech má v těchto souborech jiné zarovnání.

Poznámky

Toto upozornění se vygeneruje, když kompilátor zjistí, že alignof pro proměnnou v souboru1 se liší od alignof proměnné v souboru2. Příčinou může být použití nekompatibilních typů při deklarování proměnné v různých souborech nebo použití nekompatibilních #pragma pack souborů v různých souborech.

Pokud chcete toto upozornění vyřešit, použijte buď stejnou definici typu, nebo použijte jiné názvy proměnných.

Další informace najdete v tématu pack a alignof operátoru.

Příklad

Toto je první soubor, který definuje typ.

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

Následující ukázka vygeneruje C4742.

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

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