Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 1) C4537

'object' : 'operator' aplikován na typ, který není UDT

Poznámky

Byl předán odkaz, kde byl očekáváný objekt (typ definovaný uživatelem). Odkaz není objekt, ale vložený kód assembleru nemůže rozlišovat. Kompilátor generuje kód, jako by byl objekt instance.

Příklad

Následující příklad vygeneruje C4537 a ukazuje, jak ho opravit:

// 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
    */
}