Re: [gtkmm] gcc-3.3 and gtkmm-2.2.1



I got this problem too, now, since Debian is moving to GCC 3.3. We
really need to fix it soon.

Chris Vine <chris cvine freeserve co uk> writes:

> In ustring.h, as it happens Glib::ustring::SequenceToString is
> private at line 532 (but making it public generates another series
> of errors).

On my system, those errors are from orbitcpp and is the same problem.

The error can be reproduced with the code

  class X
  {
    template <typename T> struct Y;   // line 3
  };

  template <> struct X::Y<int>
  {                                   // line 7
  };

  int main()
  {
  }

It appears GCC 3.3 doesn't like the specialisation:

  $ g++ -o test test.c++ -Wall
  test.c++:3: error: `template<class T> struct X::Y' is private
  test.c++:7: error: within this context

> This appears either to be a gcc-3.3 bug, or a gtkmm problem revealed by 
> gcc-3.3.

I'm going to ask on the GCC list. I think it is a GCC bug. Either that
or a bug in the standard, or it is simply not possible to specialise
member templates.

-- 
Ole Laursen
http://www.cs.auc.dk/~olau/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]