J'ai créé un projet de pointeur intelligent pour l'auto étude similaire à https://www.codeproject.com/Articles/15351/Implementing-a-simple-smart-pointer-in-c je ne voulais pas utiliser std::shared_ptr
et je ne voulais pas utiliser weak_ptr
ou unique_ptr
C++ ajouter la classe à espace de noms pour créer un nouvel objet de classe
Mini version du projet http://cpp.sh/957bl
maintenant, je veux développer le projet et créer un interface
qui fait des objets et une fonction de copie. Le projet d'origine contient un constructeur de copie et un constructeur normal.
Ce que je voudrais savoir, c'est comment créer la fonction de copie et la fonction make.
erreurs im obtenir:
Error C3861 'makeShared': identifier not found main.cpp 22
Error C3861 'copyShared': identifier not found main.cpp 12
Error C2653 'TestAllocator': is not a class or namespace name PointerInterface.hpp 35
Et où sont ces fonctions déclarées ou définies? Apparemment, vous ne figurez dans aucun des fichiers d'en-tête que vous incluez (et vous ne nous en montrez aucun). –
Sur une autre note, * pourquoi * ne voulez-vous pas utiliser les pointeurs intelligents standard? Est-ce seulement à des fins d'apprentissage, ou y a-t-il un autre problème sous-jacent que vous voulez résoudre? Si c'est un problème sous-jacent, alors peut-être que vous devriez poser des questions sur * cela * au lieu d'essayer de réinventer (plutôt mal je dirais) la roue. –
@Someprogrammerdude OP a écrit "pour l'auto-étude" – klutt