컴파일러 경고(수준 1) C4537
'object': UDT가 아닌 형식에 적용되는 '연산자'입니다.
설명
개체(사용자 정의 형식)가 필요한 위치에 참조가 전달되었습니다. 참조는 개체가 아니지만 인라인 어셈블러 코드는 구분할 수 없습니다. 컴파일러는 개체가 인스턴스인 것처럼 코드를 생성합니다.
예시
다음 샘플에서는 C4537을 생성하고 이를 해결하는 방법을 보여 줍니다.
// C4537.cpp
// compile with: /W1 /c
// processor: x86
struct S {
int member;
};
void f1(S &s) {
__asm mov eax, s.member; // C4537
// try the following code instead
// or, make the declaration "void f1(S s)"
/*
mov eax, s
mov eax, [eax]s.member
*/
}