Compilerwarnung (Ebene 1) C4537
'object' : 'operator' angewendet auf nicht-UDT-Typ
Hinweise
Ein Verweis wurde übergeben, bei dem ein Objekt (benutzerdefinierter Typ) erwartet wurde. Ein Verweis ist kein Objekt, aber Inlineassemblercode kann die Unterscheidung nicht vornehmen. Der Compiler generiert Code, als ob objekt eine Instanz war.
Beispiel
Im folgenden Beispiel wird C4537 generiert und veranschaulicht, wie Sie es beheben können:
// 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
*/
}
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für