у меня есть:C++: typedefing и вложенный класс вопрос
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' является закрытым, он все равно недоступен для пользователей. –