컴파일러 경고(수준 1) C4742
'variable'은 'file1' 및 'file2'에서 서로 다른 맞춤을 가름: number1 및 number2
두 파일에서 참조되거나 정의된 외부 변수는 해당 파일에서 서로 다른 맞춤을 가합니다.
설명
이 경고는 컴파일러가 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;
}
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기