在我正在处理的DLL中,我有以下要导出的类:
class A {
public:
class B
{
std:string placeholder;
};
boost::shared_ptr<B> sp;
};
使用该代码,我需要dllexport A
,A::B
和boost::shared_ptr<A::B>
。在声明boost::shared_ptr<A::B>
之前,我无法dllexport A::sp
(我必须在命名空间级别执行此操作),因为class A::B
尚未知晓。这样声明:
class A::B;
不起作用。这样声明:
class B;
实际上宣布另一个班级。我该如何解决?