c++用智能指针初始化返回私有构造函数成员报错,请求各位帮忙指点一下
#include <iostream>
#include <memory>
using namespace std;
class Generator
{
public:
typedef shared_ptr<Generator> Pointer;
Pointer create() {return (new Generator())}; //报错: 不存在从 "Generator *" 转换到 "std::shared_ptr<Generator>" 的适当构造函数C/C++(415)
~Generator();
private:
Generator();
};
Generator::Generator()
{
}
Generator::~Generator()
{
}
int main()
{
Generator::Pointer pGenerator(Generator::create());
}