Neale,
As far as I can see, the compiler is bitching that there is no != operator
defined for the iterator types on either side of the second argument to the
for() clause.
A suggestion: try expressing that 2nd arg to the for() clause as
!( i == data.end_roots() )
If there is an equality method defined for those objects, this should
uncover it. If that doesn't work, try asking the author for a fix. Chances
are you're not the only who will find (or has found) it.
--Jim--
James S. Tison
Senior Software Engineer
TPF Laboratory / Architecture
IBM Corporation
[EMAIL PROTECTED]
"Ferguson, Neale"
<Neale.Ferguson@Software To: [EMAIL PROTECTED]
AG-USA.com> cc:
Sent by: Linux on 390 Subject:
Port
<[EMAIL PROTECTED]
>
08/29/2002 13:41
Please respond to Linux
on 390 Port
I am a C++ dummy so can any one tell me what I should look for to fix the
following. The code says:
void CallStack::Output(ostream &os)
{
total_time = data.total_time();
for (ProfileData::const_arc_iterator i = data.begin_roots();
i != data.end_roots(); ++i)
{
os << root << ' ' << get_func_time(*i) << '\n';
output_node(os, *i, 1);
}
}
The compiler bitches:
callstack.C: In member function `void CallStack::Output(std::ostream&)':
callstack.C:83: no match for `ProfileData::const_arc_iterator& !=
ProfileData::const_arc_iterator' operator