C++ ,错误:命名空间'std'中的'shared_ptr'未命名模板类型

c++ , error: 'shared_ptr' in namespace 'std' does not name a template type

本文关键字:ptr 未命名 类型 shared std 错误 命名空间 C++ 中的      更新时间:2023-10-16

我试图用狂想曲定义一个指向我的结构的智能指针,我已经包含了头文件"memory"。但是我有上面的错误

typedef std::shared_ptr<my_structure> %s;

我想你的意思是std::shared_ptr而不是std::shared.

此外,%在C++的类型名称中是不合法的。


如果你的目的是创建一个类型别名,那么你应该做这样的事情

using MyType_t = std::shared_ptr<my_structure>;

如果您的目的是创建一个类型std::shared_ptr<my_structure>的变量,那么您应该这样做

std::shared_ptr<my_structure> ptr;

不需要 % 访问说明符通常在 printf("%s",arg( 中给出 %;

最好的方法是 标准::shared_ptr PTR;