Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zmienna ma inne wyrównanie w pliku "file1" i "file2": number1 i number2
Uwagi
Zmienna zewnętrzna, do którego odwołuje się odwołanie lub zdefiniowana w dwóch plikach, ma różne wyrównanie w tych plikach.
To ostrzeżenie jest emitowane, gdy kompilator stwierdza, że alignof dla zmiennej w pliku file1 różni się od alignof zmiennej w pliku file2. Może to być spowodowane użyciem niezgodnych typów podczas deklarowania zmiennej w różnych plikach lub niezgodności #pragma pack w różnych plikach.
Aby rozwiązać to ostrzeżenie, użyj tej samej definicji typu lub użyj różnych nazw zmiennych.
Aby uzyskać więcej informacji, zobacz pack i alignof operator.
Przykład
Jest to pierwszy plik, który definiuje typ.
// C4742a.c
// compile with: /c
struct X {
char x, y, z, w;
} global;
Poniższy przykład generuje C4742.
// C4742b.c
// compile with: C4742a.c /W1 /GL
// C4742 expected
extern struct X {
int a;
} global;
int main() {
global.a = 0;
}