#include <SFML/Graphics.hpp>
#include <memory>
#include <map>
int main(int argc, char **argv)
{
std::map <const std::string, std::shared_ptr<sf::Texture> > resources;
sf::Texture tempResource;
tempResource.loadFromFile("1.PNG");
resources.insert(std::pair<const std::string, std::shared_ptr<sf::Texture>>("1", std::dynamic_pointer_cast<sf::Texture>(new sf::Texture(tempResource))));
return 0;
}
(que les nouvelles utilisations d'appel constructeur de copie)casting pointeur normal à std :: shared_ptr ne semble pas fonctionner
Sans coulée (juste appeler la nouvelle fonction d'insertion à l'intérieur), il ne fonctionne pas. J'ai donc utilisé shared_ptr casting pour le faire, mais cela ne fonctionne pas. L'erreur: erreur: aucune fonction de mise en correspondance pour l'appel à « dynamic_pointer_cast (sf :: Texture *) »
Quel est le problème ici, comment puis-je le faire fonctionner? Je suis nouveau sur shared_ptrs et je ne peux pas le résoudre moi-même.
Merci
Merci! Grande réponse – user1873947
@ user1873947: Si cela résout votre problème, vous pouvez envisager d'accepter soit Kerrek ou ma réponse pour montrer que le problème est résolu. Bien sûr, upvoting une réponse est aussi une bonne façon de montrer de la gratitude;) – Grizzly
Je ne peux pas voter à cause de ma faible rep ... Les deux réponses sont bonnes mais je vais choisir la vôtre parce que vous avez rep inférieur. – user1873947