다음을 통해 공유


컴파일러 경고(수준 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
    */
}