On 12 Nov 2013, at 17:54, Steve Kargl <sgk_at_troutmask.apl.washington.edu> wrote: ... > namespace pan > { > class Log > { > public: > enum Severity { > PAN_SEVERITY_INFO = 1, > PAN_SEVERITY_ERROR = 2, > PAN_SEVERITY_URGENT = (1<<10) > }; > > struct Entry { > time_t date; > Severity severity; > std::deque<Entry> messages; > std::string message; > bool is_child; > Entry() : is_child(false) { } > }; I think the problem is that the code tries to use std::deque<Entry> as a member of struct Entry, before it is completely defined. This is not allowed by the standard, although some libraries (e.g. GNU libstdc++) apparently permit it for some container types. You could try to work around it with -fdelayed-template-parsing, but I am not sure if it will help. Alternatively, compile the code with libstdc++, or rewrite it to conform. :-) -Dimitry
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:44 UTC