auto_ptr in namespace 'std' dose not name a template type
时间: 2024-02-07 11:01:48 浏览: 118
这个错误提示通常是由于使用了已经被弃用的 auto_ptr 类型导致的。在 C++11 标准中,auto_ptr 被 unique_ptr 所取代,因此建议使用 unique_ptr 来替代 auto_ptr。如果你仍然需要使用 auto_ptr,可以在代码文件中添加以下代码来解决该问题:
```c++
#include <memory>
using std::auto_ptr;
```
这样就可以在代码中使用 auto_ptr 了。不过需要注意的是,auto_ptr 已经被弃用,不建议在新代码中使用。建议使用更加安全和高效的 unique_ptr。
相关问题
shared_ptr is not a template
在arm架构机器上编译时,遇到如下问题 error: ‘shared_ptr’ in namespace ‘std’ does not name a template type。这个错误在arm架构机器上编译时,遇到如下问题 error: ‘shared_ptr’ in namespace ‘std’ does not name a template type。这个错误通常是由于编译器版本过低或者编译器不支持C++11标准所导致的。在C++11标准中,shared_ptr是一个模板类,需要使用头文件< memory >来引用。如果你的编译器版本过低或者不支持C++11标准,那么你需要升级你的编译器或者使用其他的智能指针,例如boost库中的智能指针。如果你的编译器支持C++11标准,那么你需要在编译时加上"-std=c++11"选项来启用C++11标准。
阅读全文