Boost logo

Boost :

From: Eric Friedman (ebf_at_[hidden])
Date: 2003-10-05 16:14:33


With the new variant changes I recently checked into CVS, I've started
getting errors with EDG-based compilers. I'll reproduce my problem below in
the hopes someone might be able to set me straight on what I'm doing wrong.

Thanks,
Eric

Compiling the following code...

  template <typename T>
  class outer
  {
  public:
    template <typename U> class inner { };
    template <typename U> friend class inner;
  private:
    // ...
  };

  int main()
  {
    typedef outer<int>::inner<double> test;
  }

...I get the following error with Comeau:

  error: template nesting depth does not match the previous
          declaration of class template "outer<T>::inner [with T=int]"
    template <typename U> friend class inner;

In case it's not evident, the goal is for outer<T>::inner<U> to have access
to private members of outer<T>.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk