Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcje kandydata "function" są niedostępne
Uwagi
Funkcja przyjazna zdefiniowana w klasie nie powinna być traktowana tak, jakby została zdefiniowana i zadeklarowana w zakresie globalnej przestrzeni nazw. Można go jednak znaleźć za pomocą wyszukiwania zależnego od argumentów.
Zmiana powodująca niezgodność może być również spowodowana przez zmianę powodującą niezgodność: typy natywne są teraz domyślnie prywatne w kompilacji /clr ; zobacz Widoczność typu, aby uzyskać więcej informacji.
Przykłady
Poniższy przykład generuje kod C3767:
// 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();
};
Poniższy przykład generuje kod C3767:
// 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();
}
};