【发布时间】:2012-12-27 02:09:00
【问题描述】:
如何在命名空间中转发声明一个类。例如下面是一个库的头文件,用户不需要知道私有 myPtr 所以在包含下面的头文件时不需要包含 boost 头文件。那么如何转发声明 boost::shared_ptr 以启用用户代码编译?
MyClass.h
class MyClass
{
private:
boost::shared_ptr<Mytype> myPtr;
}
【问题讨论】:
-
@JaredC 如果他提供了预编译库,则不会。
-
@korhan 我不确定我是否完全理解您的问题,但听起来可能与我最近提出的问题相似 - 看看这里的答案,看看是否有帮助:@987654321 @
-
你试图让这个小宝石的消费者不必包含 boost 标头来获得你希望他们一开始不知道的东西的定义;总结一下吗?
-
@Jon thx 用于重播,我刚刚检查过,但我的问题是在消费者不知道的命名空间中前向声明一个类(或者我不需要知道 aobut。)跨度>
-
@WhozCraig 是的,这就是我想要做的。顺便说一句,我的库是一个静态库,如果它改变了任何东西
标签: c++ namespaces