Megosztás a következőn keresztül:


Fordító figyelmeztetés (1. szint) C4537

"object" : "operátor" nem UDT-típusra alkalmazva

Megjegyzések

A rendszer olyan hivatkozást adott át, amelyben egy objektum (felhasználó által definiált típus) várt. A hivatkozás nem objektum, azonban az inline assembly kód nem képes különbséget tenni. A fordító úgy generál kódot, mintha az objektum példány lenne.

Example

Az alábbi példa létrehozza a C4537-et, és bemutatja, hogyan javítható ki:

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