Jakie jest najlepsze rozwiązanie do forwardowania deklaruj typedef w klasie. Oto przykład tego, co trzeba rozwiązać:Przekaż zadeklaruj typedef w klasie C++
class A;
class B;
class A
{
typedef boost::shared_ptr<A> Ptr;
B::Ptr foo();
};
class B
{
typedef boost::shared_ptr<B> Ptr;
A::Ptr bar();
};
Przypuszczam, że po prostu wykonaj następujące czynności:
boost::shared_ptr<B> foo();
Ale tam jest bardziej eleganckie rozwiązanie?
IMO jesteś podtytułowany, aby wykonać typedefs wokół linii 3, przynajmniej jednego z nich. Lub użyj innego typedef i sprawdź później za pomocą static_assert i is_same_type później dla spójności. –