Aracılığıyla paylaş


Derleyici Hatası C2843

'member' : Statik olmayan bir veri üyesinin veya yönetilen ya da WinRT türünün yönteminin adresini alamaz

Açıklamalar

Yönetilen veya WinRT sınıfı veya arabiriminin statik olmayan veri üyelerinin adresini almak için bir örnek gereklidir.

Example

Aşağıdaki örnek C2843 oluşturur ve nasıl düzeltileceğini gösterir:

// C2843_2.cpp
// compile with: /clr
public ref class C {
public:
   int m_i;
};

ref struct MyStruct {
   static void sf() {}
   void f() {}
};

int main() {
   MyStruct ^ps = gcnew MyStruct;
   void (__clrcall MyStruct::*F1)() = & MyStruct::f;   // C2843
   void (__clrcall MyStruct::*F2)() = & ps->f;   // C2843
   void (__clrcall MyStruct::*F3)();   // C2843

   void (__clrcall *F5)() = MyStruct::sf;   // OK
   void (__clrcall *F6)() = & ps->sf;   // OK

   interior_ptr<int> i = &C::m_i; // C2843
   C ^x = gcnew C();
   interior_ptr<int> ii = &x->m_i;
}