Hi,
Debian has switched to GCC 3.3 for unstable which renders programs
that use gtkmm unusable. The problem is that a certain member template
specialisation pattern is used in the headers. The problem can be
reproduced with the following snippet:
class X
{
private:
template <typename T> struct Y; // line 4
};
template <> struct X::Y<int>
{ // line 8
};
int main()
{
}
Compiling this with GCC 3.3 gives
$ g++ -o test test.c++ -Wall
test.c++:4: error: `template<class T> struct X::Y' is private
test.c++:8: error: within this context
whereas it worked with 3.2. Is this a bug in the compiler or is
specialisation of private template members simply not possible in C++?