Listing 3 -
template <class T>
class queue
{
private:
struct cell; // forward-declaration
cell *first, *last;
public:
...
class iterator; // forward-declaration
friend class iterator;
};
template <class T>
struct queue<T>::cell // compiler gags here
{
...
};
template <class T>
class queue<T>::iterator // and here
{
...
};
// End of File