From: Andrew S. <ans...@se...> - 2002-01-31 19:38:08
|
On Thursday 31 January 2002 02:23 pm, Chris Cannam wrote: > Andrew Sutton wrote: > > well, i managed to fix the distance() call problem. [...] > > all i had to do was change the derivation on the FastVector. > > apparently, deriving private hides something that's required to match the > > template call > > I'd like to know what, but in the meantime I don't mind changing > it to a public derivation. Could it be just that gcc-3.0 makes > the iterator classes private if the vector is a private base? > Nah, that'd break all sorts of other things. it should - based on my understanding of private inheritance. class Foo { public: class Nested_Foo {}; }; class Bar : private Foo { }; all public and protected members of Foo are imported into the private sector of Bar. so nested classes, enums typedefs, structs etc. should be put there too. i'll dick around with it for a bit. andy |