![](https://secure.gravatar.com/avatar/eb3fe37da4a199eb4e3b479d8a57f808.jpg?s=120&d=mm&r=g)
As I've been using g++ 3.3, it looks like I missed some things that wouldn't fly under 3.4 in my last commit.
It should be fairly straightforward to fix, but I need someone with 3.4 to validate my changes.
[ A complete listing of the errors would be helpful for me, too. I noticed one error mentioned in the Jabber chat logs, but that looked like it was likely one of the later errors. Usually only the earliest errors are going to contain useful information (and they're often the root causes). ]
For a first shot at a fix, I'm going to try reworking the following pattern:
template <typename T> class Foo : public Foo<T const> {};
template <typename T> class Foo<T const> {};
like so:
template <typename T> class Foo;
template <typename T> class Foo<T const> {};
template <typename T> class Foo : public Foo<T const> {};
So things get used more strictly in order of definition. There are most likely other issues, but we'll start with that one.
-mental