1
class ThreadPool
{
public:
....
private:
struct TP_Thread: public Thread_t
{
....
};
std::vector<std::tr1::shared_ptr<TP_Thread> > m_threads;
.....
};
我想要做的是这样的:
typedef std::tr1::shared_ptr<TP_Thread> shpThread;
缩短类定义的文字。问题是我要么获取指向不完整类型的指针(因为在类之前的前向声明和typedef公共部分)或试图访问ThreadPool的私有成员(在我试图在类之外键入定义的情况下)。我怎样才能输入这个,这样我可以在实现过程中自由使用它?
为什么不简单地把typedef放在私人部分? – user2079303
我希望它可以被类用户访问 – susdu
你可以用typedef基类Thread_t来代替吗?你的'TP_Thread'是私有的,用户无法访问它。 –