Salut, j'essaye d'extraire le pointeur d'un std::unique_ptr et de le passer à une fonction template comme ceci :
Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 template <class T> void operator() (std::unique_ptr<T>& ptr) { (*this)(ptr.get()); }
Afin d'éviter à avoir à réécrire deux fois le même code dans le cas ou je passe un pointeur nu et dans le cas ou je passe un std::unique_ptr.
Malheureusement, cela ne fonctionne pas et j'ai cette erreur en compilation :
Comment puis je passer le pointer d'un pointeur intelligent à une fonction template ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 /home/laurent/Développement/Projets-c++/ODFAEG/src/odfaeg/Physics/../../../include/odfaeg/Physics/../Math/../Core/archive.h|889|error: no match for call to (odfaeg::ITextArchive) (std::unique_ptr<odfaeg::BoundingVolume>::pointer)|
Merci d'avance pour votre aide.![]()
Partager