Menu

#31 Compile error: Several candidates for overloaded function.

open
nobody
None
5
2003-01-07
2003-01-07
Anonymous
No

Except for some warnings about overridden make files,
the build proceeds correctly. Then, during compilation
of EndpointTabl.cxx's compilation, it halts with an error:

EndpointTabl.cxx: In method `class
H225_EndpointIdentifier
EndpointTable::GenerateEndpointId() const':
EndpointTabl.cxx:717: call of overloaded `PString(const
H225_GatekeeperIdentifier &)' is ambiguous
/usr/src/pwlib/include/ptlib/contain.inl:218:
candidates are: PString::PString(const PString &)
/usr/src/pwlib/include/ptlib/pstring.h:346:
PString::PString(const PWORDArray &)

It appears to be an error of trivial nature, but I'm a
C coder, so I wouldn't know how to fix it. I've tried
building against both tarball and CVS versions of pwlib
and openh323. I have not tried any old versions,
though. I suspect a version difference to be the culprit.

Please drop me an e-mail (thj@thj.no) if/when this
problem has been solved.

Discussion

  • Nobody/Anonymous

    Logged In: NO

    Oops! That should be "during compilation of
    EndpointTabl.cxx", not "during compilation of
    EndpointTabl.cxx's compilation". Editing makes blind. =)

     
  • Rémi Perrot

    Rémi Perrot - 2003-06-04

    Logged In: YES
    user_id=34210

    I have the fix:
    --- opengate-0.9alpha4.orig/EndpointTabl.cxx
    +++ opengate-0.9alpha4/EndpointTabl.cxx
    @@ -714,7 +714,7 @@
    // (because the counter can wrap round)
    do
    {
    - ((PASN_BMPString &)Result) =
    PString(PString::Unsigned, Id) + ": " + (PString)GatekeeperId;
    + ((PASN_BMPString &)Result) =
    PString(PString::Unsigned, Id) + ": " + (PString &)GatekeeperId;
    ++Id;
    } while (
    find_if(Table.begin(),Table.end(),hasEndpointId(Result)) !=
    Table.end() );
    --- opengate-0.9alpha4.orig/Environ.cxx
    +++ opengate-0.9alpha4/Environ.cxx
    @@ -108,7 +108,7 @@
    {
    PIPSocket::Address KeyAddr;
    PIPSocket::GetHostAddress( Keys[i], KeyAddr );
    - if ( Addr == KeyAddr )
    + if ( (DWORD)Addr == (DWORD)KeyAddr )
    {
    // This key refers to this address...
    Result.SetSize(j+1);
    --- opengate-0.9alpha4.orig/Makefile
    +++ opengate-0.9alpha4/Makefile
    @@ -97,6 +97,8 @@
    OPENGATEDIR=$(OPENH323DIR)/opengate
    endif

    +OBJS := $(sort $(OBJS))
    +
    tarball:
    $(MAKE) -C setver opt
    (cd setver/obj_$(PLATFORM_TYPE)_r; setver
    $(OPENGATEDIR)/Version.inc)

    Regards,

    Rmi Perrot

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.