Errore del compilatore C3833
'type': tipo di destinazione non valido per pointer_type
Un interior_ptr o un pin_ptr è stato dichiarato in modo non corretto.
L'esempio seguente genera l'errore C3833:
// C3833.cpp
// compile with: /clr
ref class MyClass {
public:
int data;
MyClass() : data(35) {}
};
int main() {
interior_ptr<MyClass> p; // C3833
// OK
MyClass ^ h_MyClass = gcnew MyClass;
interior_ptr<int> i = &(h_MyClass->data);
System::Console::WriteLine(*i);
}
L'esempio seguente genera l'errore C3833:
// C3833b.cpp
// compile with: /clr /c
ref class G {
public:
int i;
};
int main() {
G ^ pG = gcnew G;
pin_ptr<G> ppG = &pG; // C3833 can't pin a whole object
// OK
pin_ptr<int> ppG2 = &pG->i;
*ppG2 = 54;
int * pi = ppG2;
System::Console::WriteLine(*pi);
System::Console::WriteLine(*ppG2);
*pi = 55;
System::Console::WriteLine(*pi);
System::Console::WriteLine(*ppG2);
*ppG2 = 56;
System::Console::WriteLine(*pi);
System::Console::WriteLine(*ppG2);
}