Mostro subito il mio problema:
codice:public ref class Classe{ public: void function(){ Classe^ temp; Classe^ temp2; if (temp == temp2){ // // Errore: '==' illegal for struct temp=temp2; // NESSUN ERRORE }; } }
Mostro subito il mio problema:
codice:public ref class Classe{ public: void function(){ Classe^ temp; Classe^ temp2; if (temp == temp2){ // // Errore: '==' illegal for struct temp=temp2; // NESSUN ERRORE }; } }
Aspé, ma il problema di prima mica era con gcroot? Sei sicuro che te lo dia anche in questo caso?
Amaro C++, il gusto pieno dell'undefined behavior.
Hai ragione, avevo sbagliato a scrivere una cosa e pensavo desse lo stesso problema.
In realtà non è il this che crea il problema, ma l'oggetto gcroot.
Riposto il caso:
codice:gcroot<Classe^> oggettoGlobale; public ref class Classe{ public: void function(Classe^ temp){ if (temp == oggettoGlobale){ // Errore: '==' illegal for struct dovuto ad oggettoGlobale oggettoGlobale=temp; // NESSUN ERRORE } }; }
Credo di aver trovato la soluzione:
static_cast<Classe^>oggettoGlobale