c ++,错误:命名空间'std'中的'shared_ptr'没有命名模板类型

sah*_*i.m -7 c++ boost g++ rhapsody

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

 typedef std::shared_ptr<my_structure> %s;
Run Code Online (Sandbox Code Playgroud)

Cur*_*ous 7

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

另外%是不是在C++中的类型名称的法律.


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

using MyType_t = std::shared_ptr<my_structure>;
Run Code Online (Sandbox Code Playgroud)

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

std::shared_ptr<my_structure> ptr;
Run Code Online (Sandbox Code Playgroud)