Aracılığıyla paylaş


Derleyici Uyarısı (düzey 1) C4383

'instance_dereference_operator': Kullanıcı tanımlı bir 'işleç' işleci mevcut olduğunda tanıtıcının başvuruyu kaldırmanın anlamı değişebilir; işlecini işlenen hakkında açık olmak üzere statik bir işlev olarak yazın

Yönetilen bir türe başvuru kaldırma işlecinin kullanıcı tanımlı bir örnek geçersiz kılmasını eklediğinizde, türün başvuru kaldırma işlecinin tanıtıcının nesnesini döndürme becerisini geçersiz kılabilirsiniz. Statik, kullanıcı tanımlı bir başvuru kaldırma işleci yazmayı göz önünde bulundurun.

Daha fazla bilgi için bkz . Tanıtıcı- Nesne İşleci (^) ve İzleme Başvuru İşleci.

Ayrıca, başvurulan meta veriler aracılığıyla örnek işleci diğer dil derleyicileri tarafından kullanılamaz. Daha fazla bilgi için bkz . Kullanıcı Tanımlı İşleçler (C++/CLI).

Örnek

Aşağıdaki örnek C4383 oluşturur.

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