Avviso del compilatore (livello 1) C4537

'object': 'operator' applicato al tipo non definito dall'utente

Osservazioni:

È stato passato un riferimento in cui è previsto un oggetto (tipo definito dall'utente). Un riferimento non è un oggetto, ma il codice assembler inline non è in grado di fare la distinzione. Il compilatore genera codice come se l'oggetto fosse un'istanza.

Esempio

L'esempio seguente genera l'errore C4537 e mostra come risolverlo:

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