ich ein Smart-Pointer-Projekt für das Selbststudium ähnlich wie https://www.codeproject.com/Articles/15351/Implementing-a-simple-smart-pointer-in-c erstellt ich nicht std::shared_ptr
verwenden wollte und ich wollte nicht weak_ptr
oder unique_ptr
C++ Klasse Hinzufügen zu Namespace neue Klasse zu erstellen Objekt
Mini-Version von Projekt verwenden http://cpp.sh/957bl
Jetzt möchte ich das Projekt erweitern und erstellen Sie eine interface
, die Objekte und eine Kopierfunktion macht. Das ursprüngliche Projekt enthält einen Kopierkonstruktor und einen regulären Konstruktor.
Was ich wissen möchte, ist, wie die Kopierfunktion und die Make-Funktion zu erstellen.
Fehler im bekommen:
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
Und wo sind diese Funktionen deklariert oder definiert? Anscheinend nicht in irgendeiner der Header-Dateien, die Sie einschließen (und Sie zeigen uns keine von beiden). –
Auf eine andere Anmerkung, * warum * wollen Sie nicht die Standard-Smart-Pointer verwenden? Ist es nur zu Lernzwecken, oder gibt es ein anderes zugrunde liegendes Problem, das Sie lösen möchten? Wenn es ein zugrunde liegendes Problem ist, dann sollten Sie vielleicht nach * dem * fragen, anstatt zu versuchen, das Rad neu zu erfinden (ziemlich schlecht, würde ich argumentieren). –
@Someprogrammerdude OP schrieb "zum Selbststudium" – klutt