1

我是 C++ 的初学者。我有这个名为 SharedData.h 的头文件。它在下面给出。

//SharedData.h

#include <memory>

typedef struct Shared_data
{
    std::string _data;
    bool IsConsumedbyNodeA;
    bool IsConsumedbyNodeB;

public:
    Shared_data():
        tokenizer_data(""),IsConsumedbyNodeA(false),IsConsumedbyNodeB(false){};
    Shared_data& ReadSharedData();
    void WriteSharedData(Shared_data &);
}Shared_data;

extern std::shared_ptr<Shared_data> ptr_to_Shared_data;//I am getting the above mentioned error here

shared_ptr 是在 Shared_data.cpp 中定义的,这样我就可以在内存和外部声明中获得对象的单个副本,无论我在哪里包含标题。

我尝试了很多,但不知道如何解决这个错误。

请帮忙.....

问候, TechTotie

4

2 回答 2

0

您需要包含标题memory

于 2014-02-17T12:05:04.740 回答
0

为了使用std::shared_ptr,您应该启用对 C++11 标准的支持并包含 header memory

于 2014-02-17T12:05:17.837 回答