On 27 Jun 2001, Lars Gullik Bjønnes wrote:
> Allan Rae <[EMAIL PROTECTED]> writes:
>
> | On 25 Jun 2001, Lars Gullik Bjønnes wrote:
> |
> | > | Index: src/lyxparagraph.h
> | > | ===================================================================
> | > | RCS file: /cvs/lyx/lyx-devel/src/lyxparagraph.h,v
> | > | retrieving revision 1.78
> | > | diff -u -r1.78 lyxparagraph.h
> | > | --- src/lyxparagraph.h 2001/05/30 13:53:30 1.78
> | > | +++ src/lyxparagraph.h 2001/06/24 21:06:53
> | > | @@ -352,7 +352,6 @@
> | > | #endif
> | > | ///
> | > | bool linuxDocConvertChar(char c, string & sgml_string);
> | > | -private:
> | > | ///
> | > | struct InsetTable {
> | > | ///
> | > | @@ -362,6 +361,7 @@
> | > | ///
> | > | InsetTable(size_type p, Inset * i) : pos(p), inset(i) {}
> | > | };
> | > | +private:
> | >
> | > I don't get the rationale for this change. Can you get us the compiler
> | > error?
> |
> | The private structs are not visible to the friendly operators even though
> | the friendly operators are defined within the class.
>
> And I don't like to change things for the sake of changing them...
> I want to know _why_ the change is needed.
I just told you!
> So far it seems like a compiler bug.
The compiler errors all say that these structs are nowhere to be found
when trying to compile the nested classes/operators (including the
iterator and the various friend operators that depend on these
definitions).
Maybe their interpretation of the standard is different to others -- this
seems likely to be one of those grey areas of the standard.
> | In fact it seems totally silly to me that the friend operator is defined
> | within the class body. We have also had other occasions where it was
> | necessary to move structs out of private into public or protected spaces
> | so that friend operators or functions could function -- earlier GUII and
> | the dec compiler spring to mind.
>
> Some of these were du to wrong code... the one in question now seems
> to be due to compiler bugs.
The dec compiler gave the same sorts of errors back then. Maybe we have
wrong code again?
Allan. (ARRae)