以下是我在make文件中出现的报错
cpServer.cc:10:5: error: ‘unique_ptr’ was not declared in this scope
unique_ptr<TcpServer> tsvr(new TcpServer());
^
tcpServer.cc:10:25: error: expected primary-expression before ‘>’ token
unique_ptr<TcpServer> tsvr(new TcpServer());
^
tcpServer.cc:10:47: error: ‘tsvr’ was not declared in this scope
unique_ptr<TcpServer> tsvr(new TcpServer());
^
make: *** [tcpServer] Error 1
系统说不在这个作用域下,但是我明明应用了这个作用域的头文件
我在网上查询解决方案发现:shared_ptr 是C++11提供的一种智能指针类,它足够智能,可以在任何地方都不使用时自动删除相关指针,从而帮助彻底消除内存泄漏和悬空指针的问题。
它遵循共享所有权的概念,即不同的 shared_ptr 对象可以与相同的指针相关联,并在内部使用引用计数机制来实现这一点。
其实本质上就是我们没有用c++11去编译它,用c++11去编译他就可以了!