conversion raw pointer unique_ptr
Bonjour,
j'ai un objet map qui me donne diverses informations. Une de ces informations est une largeur que je récupère grâce au code
Code:
map->GetTileset(i)->GetTileWidth()
Je voulais raccourcir ce code avec
Code:
1 2
| auto tileset = make_unique<const Tmx::Tileset>;
tileset = map->GetTileset(i); |
Mais j'obtiens l'erreur :
Code:
1 2
| error: cannot convert const Tmx::Tileset* to std::unique_ptr<const Tmx::Tileset, std::default_delete<Tmx::Tileset> > (*)() in assignment
tileset = map->GetTileset(0); |
Le code suivant marche sans problème
Code:
1 2
| const Tmx::Tileset* tileset = new const Tmx::Tileset;
tileset = map->GetTileset(i); |
Du coup, je me demande si on peut convertir un pointer en unique_ptr, ou si il vaut mieux passer par new dans le cas présent.