On 13 Apr 2000, Jean-Marc Lasgouttes wrote:
> >>>>> "Angus" == Angus Leeming <[EMAIL PROTECTED]> writes:
> 
> Angus> I think you've got a little confused here. The type T here is
> Angus> not a lyxstring, but a PrinterParams (which does define a
> Angus> composite() method).
> 
> Here is what cxx says. Granted it is chinese to me, but you will maybe
> be able to understand it.
> 
> cxx: Error: /afs/rocq/home/meval/common/include/xtl/objio.h, line 406: 
>           class "lyxstring" has no member "composite"
>           detected during:
>             instantiation of "void composite(Stream &, T &) [with
>                       Stream=obj_output<raw_format<mem_buffer>, no_refs>,
>                       T=string]" at line 353
>             instantiation of "obj_output<Format, References>
>                       &obj_output<Format, References>::simple(const T &) [with
>                       Format=raw_format<mem_buffer>, References=no_refs,
>                       T=string]" at line 117 of
>                       "../../../../rae/src/PrinterParams.h"
>             instantiation of "void PrinterParams::composite(Stream &) [with
>                       Stream=obj_output<raw_format<mem_buffer>, no_refs>]" at
>                       line 406
>             instantiation of "void composite(Stream &, T &) [with
>                       Stream=obj_output<raw_format<mem_buffer>, no_refs>,
>                       T=PrinterParams]" at line 353
>             instantiation of "obj_output<Format, References>
>                       &obj_output<Format, References>::simple(const T &) [with
>                       Format=raw_format<mem_buffer>, References=no_refs,
>                       T=PrinterParams]" at line 126 of
>                       "../../../../rae/src/PrinterParams.h"
>         data.composite(stream);

Okay,  that seals it:  cxx is definitely fscked in the head!

The only reason I can imagine why cxx wants lyxstring to have a
composite() member (apart from the above statement) is if somehow the
xtl provided string handler isn't being used for lyxstring.  So,  perhaps
there is a problem with the order of inclusion of headers?

cxx ignoring/interpreting-to-deeply the "typedef lyxstring string;"
statement and thus can't make the match.  Does chnaging the order of
inclusion affect anything (LString.h before lxtl.h and vise versa)?

Allan. (ARRae)

Reply via email to