* C++, "too few arguments in function call" error?
@ 2006-03-17 7:07 rob
2006-03-17 11:37 ` Dave Korn
0 siblings, 1 reply; 6+ messages in thread
From: rob @ 2006-03-17 7:07 UTC (permalink / raw)
To: gdb
Hi all,
I'm using GDB 6.1 on Mac OS X to debug a C++ program. Occasionally,
when I try to call an object's member function I get this error:
(gdb) p set1.begin()
too few arguments in function call
In this case "set1" is an STL std::set, but I get the same message
sometimes with my own classes. Has anyone seen this before, or know
what's going on, or a way around it?
thanks,
Rob
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: C++, "too few arguments in function call" error?
2006-03-17 7:07 C++, "too few arguments in function call" error? rob
@ 2006-03-17 11:37 ` Dave Korn
2006-03-17 18:36 ` Daniel Jacobowitz
2006-03-17 19:06 ` rob
0 siblings, 2 replies; 6+ messages in thread
From: Dave Korn @ 2006-03-17 11:37 UTC (permalink / raw)
To: rob, gdb
On 17 March 2006 03:57, rob@encodia.biz wrote:
> Hi all,
>
> I'm using GDB 6.1 on Mac OS X to debug a C++ program. Occasionally,
> when I try to call an object's member function I get this error:
>
> (gdb) p set1.begin()
> too few arguments in function call
>
> In this case "set1" is an STL std::set, but I get the same message
> sometimes with my own classes. Has anyone seen this before, or know
> what's going on, or a way around it?
This is a total shot in the dark, but maybe something's gone wrong and it's
expecting you to pass the this pointer as an explicit first argument rather
than an implicit one?
cheers,
DaveK
--
Can't think of a witty .sigline today....
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: C++, "too few arguments in function call" error?
2006-03-17 11:37 ` Dave Korn
@ 2006-03-17 18:36 ` Daniel Jacobowitz
2006-03-17 22:02 ` rob
2006-03-17 19:06 ` rob
1 sibling, 1 reply; 6+ messages in thread
From: Daniel Jacobowitz @ 2006-03-17 18:36 UTC (permalink / raw)
To: Dave Korn; +Cc: rob, gdb
On Fri, Mar 17, 2006 at 11:03:11AM -0000, Dave Korn wrote:
> On 17 March 2006 03:57, rob@encodia.biz wrote:
>
> > Hi all,
> >
> > I'm using GDB 6.1 on Mac OS X to debug a C++ program. Occasionally,
> > when I try to call an object's member function I get this error:
> >
> > (gdb) p set1.begin()
> > too few arguments in function call
> >
> > In this case "set1" is an STL std::set, but I get the same message
> > sometimes with my own classes. Has anyone seen this before, or know
> > what's going on, or a way around it?
>
> This is a total shot in the dark, but maybe something's gone wrong and it's
> expecting you to pass the this pointer as an explicit first argument rather
> than an implicit one?
That's pretty likely. Rob, we probably can't help you with problems
involving C++ and MacOS X; Apple's highly patched GDB uses stabs, not
DWARF-2, and therefore represents debug information for methods very
differently.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: C++, "too few arguments in function call" error?
2006-03-17 11:37 ` Dave Korn
2006-03-17 18:36 ` Daniel Jacobowitz
@ 2006-03-17 19:06 ` rob
2006-03-18 10:18 ` Dave Korn
1 sibling, 1 reply; 6+ messages in thread
From: rob @ 2006-03-17 19:06 UTC (permalink / raw)
To: gdb
On Mar 17, 2006, at 6:03 AM, Dave Korn wrote:
> On 17 March 2006 03:57, rob@encodia.biz wrote:
>>
>> (gdb) p set1.begin()
>> too few arguments in function call
>
> This is a total shot in the dark, but maybe something's gone
> wrong and it's
> expecting you to pass the this pointer as an explicit first
> argument rather
> than an implicit one?
That does work sometimes. But if the class is a template, or if the
method is overloaded, I can't do it, or I have to type way too much,
or I get this <incomplete type> error. Examples...
(gdb) p set1.begin(&set1)
Cannot resolve method
set<xml::XmlNode*,std::less<xml::XmlNode*>,std::allocator<xml::XmlNode*>
>::begin to any overloaded instance
(gdb) p set<xml::XmlNode*, std::less<xml::XmlNode*>,
std::allocator<xml::XmlNode*> >::begin(&set1)
$1 = {
_M_node = 0x3008c0
}
That works, but it's horrible.
(gdb) p set<xml::XmlNode*, std::less<xml::XmlNode*>,
std::allocator<xml::XmlNode*> >::size(&set1)
$8 = <incomplete type>
(gdb) p (int)(set<xml::XmlNode*, std::less<xml::XmlNode*>,
std::allocator<xml::XmlNode*> >::size(&set1))
Invalid cast.
I can't get the size(), bu it's similar to begin() -- both are
inline, both return types that are typedef'd in the same place.
(gdb) p vector<xml::Step*, std::allocator<xml::Step*> >::begin(&steps)
non-unique member `begin' requires type instantiation
?
Rob
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: C++, "too few arguments in function call" error?
2006-03-17 18:36 ` Daniel Jacobowitz
@ 2006-03-17 22:02 ` rob
0 siblings, 0 replies; 6+ messages in thread
From: rob @ 2006-03-17 22:02 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: Dave Korn, gdb
On Mar 17, 2006, at 12:43 PM, Daniel Jacobowitz wrote:
>
> That's pretty likely. Rob, we probably can't help you with problems
> involving C++ and MacOS X; Apple's highly patched GDB uses stabs, not
> DWARF-2, and therefore represents debug information for methods very
> differently.
Ah... I was wondering about the Mac OS effect. Thanks for the info.
I'll try asking on an Apple mailing list, or maybe just move back to
Linux for compiling and debugging.
Rob
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: C++, "too few arguments in function call" error?
2006-03-17 19:06 ` rob
@ 2006-03-18 10:18 ` Dave Korn
0 siblings, 0 replies; 6+ messages in thread
From: Dave Korn @ 2006-03-18 10:18 UTC (permalink / raw)
To: rob, gdb
On 17 March 2006 18:28, rob@encodia.biz wrote:
> That does work sometimes. But if the class is a template, or if the
> method is overloaded, I can't do it, or I have to type way too much,
You do know about gdb doing tab-completion, yes? It doesn't always help but
I just thought I'd ask...
> (gdb) p set<xml::XmlNode*, std::less<xml::XmlNode*>,
> std::allocator<xml::XmlNode*> >::begin(&set1)
> $1 = {
> _M_node = 0x3008c0
> }
>
> That works, but it's horrible.
Less so with completion.
cheers,
DaveK
--
Can't think of a witty .sigline today....
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-03-17 19:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-17 7:07 C++, "too few arguments in function call" error? rob
2006-03-17 11:37 ` Dave Korn
2006-03-17 18:36 ` Daniel Jacobowitz
2006-03-17 22:02 ` rob
2006-03-17 19:06 ` rob
2006-03-18 10:18 ` Dave Korn
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).