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


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

"instance_dereference_operator": a kezelő dereferálásának jelentése megváltozhat, ha egy felhasználó által definiált "operátor" operátor van jelen; írja meg az operátort statikus függvényként annak érdekében, hogy az operandus nyilvánvaló legyen

Megjegyzések

Amikor egy felhasználó által definiált példányfelülírást ad meg a hivatkozáskivonó operátorhoz egy felügyelt típusban, lehetséges, hogy felülbírálja a típus hivatkozáskivonó operátorának azon képességét, hogy visszaadja a mutató objektumát. Érdemes lehet statikus, felhasználó által definiált dereferencia-operátort írni.

További információ: Handle to Object Operator (^) és Tracking Reference Operator.

Emellett a példány operátora nem érhető el más nyelvfordítók számára a hivatkozott metaadatokon keresztül. További információ: Felhasználó által definiált Operátorok (C++/CLI).

Example

Az alábbi példa C4383-at hoz létre.

// C4383.cpp
// compile with: /clr /W1

ref struct S {
   int operator*() { return 0; }   // C4383
};

ref struct T {
   static int operator*(T%) { return 0; }
};

int main() {
   S s;
   S^ pS = %s;

   T t;
   T^ pT = %t;
   T% rT = *pT;
}