26/12/18 10:44
Thejuster
Buongiorno a tutti e buon Santo stefano.
Stavo cercando di convertire una struttura con campi uguali da una classe ad un'altra
ma ho questo errore.
Sò che sicuramente sbaglio completamente tutto. per questo voglio chiedervi come posso eseguire correttamente il cast.
e una volta per tutte imparare a farlo.
ho 2 classi
Classe 1 MappySaver ( Utilizza per scrivere file di salvataggio in binario)
Classe Jexport utilizzata per esportare in Json un livello
Entrambi le classi hanno la stessa struttura e la stessa lista con lo stesso nome.
ho provato a fare in questo modo
Ora sò che sicuramente ho fatto un macello o sbagliato completamente tutto.
Come posso fare ciò?
Ovvero prendere direttamente una lista basata su struttura e riportarla tale com'è iin u'altra classe?
errore
/home/giovanni/cpp/Mappy/mainwindow.cpp:412: error: no matching conversion for static_cast from 'QList<MappySaver::Tile>' to 'QList<Jexport::Tile>'
j.Tiles = static_cast<QList<Jexport::Tile>>(m.Tiles);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stavo cercando di convertire una struttura con campi uguali da una classe ad un'altra
ma ho questo errore.
Sò che sicuramente sbaglio completamente tutto. per questo voglio chiedervi come posso eseguire correttamente il cast.
e una volta per tutte imparare a farlo.
ho 2 classi
Classe 1 MappySaver ( Utilizza per scrivere file di salvataggio in binario)
class MappySaver { public: MappySaver(); void SaveMap(QString filename); //structure struct Tile { public: int ID; int x,y,w,h; QRect rect; }; QList<Tile> Tiles; QObject t; Tile tile; };
Classe Jexport utilizzata per esportare in Json un livello
class Jexport { public: Jexport(); int MappyVer; //Save Method void Read(const QJsonObject &obj); void Write(QJsonObject &obj) const; //structure struct Tile { public: int ID; int x,y,w,h; QRect rect; }; QList<Tile> Tiles; }; #endif // JEXPORT_H
Entrambi le classi hanno la stessa struttura e la stessa lista con lo stesso nome.
ho provato a fare in questo modo
MappySaver m; //Classe MappySaver MappySaver::Tile tile; //Struttura tile.ID = 0; //elemento di test m.Tiles.append(tile); //Tentativo di portare la lista m.Tiles a quella Json Jexport j; j.Tiles = static_cast<QList<Jexport::Tile>>(m.Tiles);
Ora sò che sicuramente ho fatto un macello o sbagliato completamente tutto.
Come posso fare ciò?
Ovvero prendere direttamente una lista basata su struttura e riportarla tale com'è iin u'altra classe?
errore
/home/giovanni/cpp/Mappy/mainwindow.cpp:412: error: no matching conversion for static_cast from 'QList<MappySaver::Tile>' to 'QList<Jexport::Tile>'
j.Tiles = static_cast<QList<Jexport::Tile>>(m.Tiles);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mire.forumfree.it/ - Mire Engine
C# UI Designer
C# UI Designer