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


C3767 fordítási hiba

A "függvény" jelöltfüggvény(ek) nem hozzáférhetők.

Megjegyzések

Az olyan barátfüggvényt, amely egy osztályban van definiálva, nem szabad úgy kezelni, mintha a globális névtér hatókörében lenne definiálva és deklarálva. Ez azonban argumentumfüggő kereséssel is megtalálható.

A C3767-et a kompatibilitástörő változás is okozhatja: a natív típusok alapértelmezés szerint privátak a /clr-összeállításban ; további információt a Típus láthatósága című témakörben talál.

Példák

Az alábbi példa C3767-et hoz létre:

// C3767a.cpp
// compile with: /clr
using namespace System;
public delegate void TestDel();

public ref class MyClass {
public:
   static event TestDel^ MyClass_Event;
};

public ref class MyClass2 : public MyClass {
public:
   void Test() {
      MyClass^ patient = gcnew MyClass;
      patient->MyClass_Event();
    }
};

int main() {
   MyClass^ x = gcnew MyClass;
   x->MyClass_Event();   // C3767

   // OK
   MyClass2^ y = gcnew MyClass2();
   y->Test();
};

Az alábbi példa C3767-et hoz létre:

// C3767c.cpp
// compile with: /clr /c

ref class Base  {
protected:
   void Method() {
      System::Console::WriteLine("protected");
   }
};

ref class Der : public Base {
   void Method() {
      ((Base^)this)->Method();   // C3767
      // try the following line instead
      // Base::Method();
   }
};