【发布时间】:2014-03-16 17:18:03
【问题描述】:
我是 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
【问题讨论】:
-
编译器不知道
std::shared_ptr是什么,试试.h文件中的#include <memory>。 -
我已经包含了头文件#include
只是忘了在这里提及。抱歉。 -
您是否启用了使用 C++11 进行构建?
-
感谢您的帮助。我正在使用 mingw32 进行编译。我认为它确实支持 C++ 11。
-
在大多数情况下,您必须手动启用使用 C++11 进行构建(即使编译器确实支持它)。检查你的编译标志。
标签: c++ c++11 syntax-error structure shared-data