다음을 통해 공유


컴파일러 경고(수준 1) C4742

'variable'은 'file1' 및 'file2'에서 서로 다른 맞춤을 가름: number1number2

두 파일에서 참조되거나 정의된 외부 변수는 해당 파일에서 서로 다른 맞춤을 가합니다.

설명

이 경고는 컴파일러가 file1의 변수가 file2변수와 다르다는 alignof 것을 alignof 발견하면 내보내집니다. 이는 다른 파일에서 변수를 선언할 때 호환되지 않는 형식을 사용하거나 다른 파일에서 일치하지 #pragma pack 않는 형식을 사용하여 발생할 수 있습니다.

이 경고를 해결하려면 동일한 형식 정의를 사용하거나 변수에 다른 이름을 사용합니다.

자세한 내용은 참조 pack 및 연산자alignof입니다.

예시

형식을 정의하는 첫 번째 파일입니다.

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

다음 샘플에서는 C4742를 생성합니다.

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

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