【发布时间】:2015-07-23 09:27:02
【问题描述】:
我想实现我自己的从 shared_ptr 扩展而来的指针(使用几个辅助方法)。
class Event;
class EventPtr : public std::shared_ptr<Event> {
public:
constexpr EventPtr()
: std::shared_ptr<Event>() {
}
constexpr EventPtr(std::nullptr_t p)
: std::shared_ptr<Event>(p) {
}
explicit EventPtr(Event* ptr)
: std::shared_ptr<Event>(ptr) {
}
};
问题是编译器为两个 constexpr 构造函数都给了我以下错误: constexpr 构造函数永远不会产生常量表达式
请告诉我如何解决它。
【问题讨论】:
-
抱歉发布不正确的答案(噪音)。我只是没有在 cppreference 的列表中看到相关的构造函数,而是看到了一个模板化的构造函数。我已经删除了答案。
标签: c++ memory constructor shared-ptr constexpr