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

时间:2017-07-04 17:12:36

标签: c++ boost g++ rhapsody

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

{{1}}

2 个答案:

答案 0 :(得分:7)

我认为您的意思是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;

答案 1 :(得分:-2)

不需要% 访问说明符通常在printf中出现%(&#34;%s&#34;,arg);

最好的方法是 std :: shared_ptr ptr;