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)

Reply via email to