Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Finito

    Adesso però ho un altro problema relativo ai puntatori managed.
    Ho la necessità di mantenere una lista dei wrapper istanziati all'interno del codice c++ che sto creando ma non riesco a farlo:

    ref class Wrapper;
    caso 1: Wrapper^ listaWrapper = NULL; // Errore: Managed non può essere globale o statico
    caso 2: Wrapper* listaWrapper = NULL; // Errore: Non puoi usare * per classi managed

  2. #2
    Usa gcroot per creare un oggetto globale unmanaged che tiene un reference ad un oggetto managed.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Sembra funzionare, ma non riesco più a fare i confronti con i normali puntatori managed:

    gcroot<Classe^> * lista;

    Classe^ elemento;
    if (lista==elemento)...

    error C2440: '=' : cannot convert from 'Classe ^const ' to 'gcroot<T> *'

    e non sto trovando molte documentazioni online

  4. #4
    Dovrebbe essere
    codice:
    gcroot<Classe^> lista;
    senza *.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Perfetto, anche questo è risolto
    Scrivere questi wrap sembra quel gioco dell'albero: per fare l'albero ci vuole xx, per fare xx ci vuoi yy, per fare yy...

    Chiusa questa piccola parentesi, ho 2 problemini adesso:

    codice:
    gcroot<Classe^> lista = nullptr;
    
    public ref class Classe{
        public:
        void function(){
          if (lista == this){ // // Errore: '==' illegal for struct
            lista=this; // NESSUN ERRORE
          };       
        }
    }
    e poi non riesco a definire delle property array.

    Grazie mille per l'infinita pazienza

  6. #6
    Altra domanda -> altro thread
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Mi sembri un medico... altro problema.. altro ticket!

    Ma anche tu hai ragione
    Ci vediamo di là...

  8. #8
    Originariamente inviato da CyberCrasher
    Mi sembri un medico... altro problema.. altro ticket!
    Vendetta trasversale sul sistema sanitario.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.