【发布时间】:2017-10-19 09:14:22
【问题描述】:
我为自学创建了一个类似于https://www.codeproject.com/Articles/15351/Implementing-a-simple-smart-pointer-in-c 的智能指针项目,我不想使用std::shared_ptr,也不想使用weak_ptr 或unique_ptr
项目的迷你版 http://cpp.sh/957bl
现在我想扩展项目并创建一个 interface 来制作对象和复制功能。
原始项目包含一个复制构造函数和一个常规构造函数。
我想知道的是如何创建复制功能和制作功能。
我遇到的错误:
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
【问题讨论】:
-
这些函数在哪里声明或定义?显然不在您包含的任何头文件中(并且您没有向我们展示它们)。
-
换一种说法,为什么你不想使用标准的智能指针?只是为了学习目的,还是有其他一些你想解决的潜在问题?如果这是一些潜在的问题,那么也许您应该询问那个,而不是尝试重新发明(我认为这很糟糕)轮子。
-
@Someprogrammerdude OP 写了“自学”
-
@Someprogrammerdude 抱歉,我不得不赶紧去医院。我已经用我正在工作的旧项目以及我正在尝试创建的正确 interface.hpp 更新了这个问题,并且需要帮助
-
makeShared和copyShared在Interface.hpp中定义,似乎没有包含在任何地方。TestAllocator未在您显示的代码中的任何位置声明。
标签: c++ c++11 interface smart-pointers