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)