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


C2843 fordítási hiba

A(z) "tag" nem hivatkozhat egy nem statikus adattagra vagy egy kezelt vagy WinRT típusú metódusra.

Megjegyzések

Szükség van egy példányra, hogy elérjük egy felügyelet vagy WinRT osztály vagy interfész nem statikus adattagjainak címét.

Example

Az alábbi példa létrehozza a C2843-at, és bemutatja, hogyan lehet kijavítani:

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