Article View: gnu.g++.help
Article #813g++ 2.7.0: bool vs. string vs. const char* overloading
From: Per Abrahamsen
Date: Thu, 02 Nov 1995 13:45
Date: Thu, 02 Nov 1995 13:45
53 lines
2663 bytes
2663 bytes
Can anyone explain to me why two doIt calls below select different
overloaded functions?
------------- bug.C -------------
#include <iostream.h>
#include <string>
void doIt (string)
{
cout << "Gotta string\n";
}
void doIt (bool)
{
cout << "Gotta bool\n";
}
int main ()
{
const char* const cp = "Hi!";
doIt (cp);
doIt ("Hi!");
return 0;
}
--------------------------------
daisy% c++ -Wall -g -v -o bug bug.C
gcc -Wall -g -v -o bug bug.C -lstdc++
Reading specs from /pack/gcc/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0/specs
gcc version 2.7.0
/pack/gcc/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=7 -Dsun -Dsparc -Dunix -D__svr4__ -D__SVR4 -D__GCC_NEW_VARARGS__ -D__sun__ -D__sparc__ -D__unix__ -D__svr4__ -D__SVR4 -D__GCC_NEW_VARARGS__ -D__sun -D__sparc -D__unix -Asystem(unix) -Asystem(svr4) -Acpu(sparc) -Amachine(sparc) -g -Wall bug.C /var/tmp/cca000ah.ii
GNU CPP version 2.7.0 (sparc)
#include "..." search starts here:
#include <...> search starts here:
/pack/gcc/lib/g++-include
/usr/local/include
/pack/gcc/sparc-sun-solaris2.4/include
/pack/gcc/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0/include
/usr/include
End of search list.
/pack/gcc/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0/cc1plus /var/tmp/cca000ah.ii -quiet -dumpbase bug.cc -g -Wall -version -o /var/tmp/cca000ah.s
GNU C++ version 2.7.0 (sparc) compiled by GNU C version 2.7.0.
/usr/ccs/bin/as -V -Qy -s -o /var/tmp/cca000ah1.o /var/tmp/cca000ah.s
/usr/ccs/bin/as: SC3.1 dev 09 May 1994
/usr/ccs/bin/ld -V -Y P,/usr/ccs/lib:/usr/lib -Qy -o bug /pack/gcc/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0/crt1.o /pack/gcc/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0/crti.o /usr/ccs/lib/values-Xa.o /pack/gcc/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0/crtbegin.o -L/pack/gcc/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0 -L/usr/ccs/bin -L/usr/ccs/lib -L/pack/gcc/lib /var/tmp/cca000ah1.o -lstdc++ -lgcc -lc -lgcc /pack/gcc/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0/crtend.o /pack/gcc/lib/gcc-lib/sparc-sun-solaris2.4/2.7.0/crtn.o
ld: Software Generation Utilities (SGU) SunOS/ELF (LK-1.4 (S/I))
daisy% bug
Gotta bool
Gotta string
Compilation finished at Thu Nov 2 14:37:47
Technical Details
Message-ID:
<199511021344.OAA02487@ssv4.dina.kvl.dk>Path:
arc1-ca.pugleaf.net!dina.kvl.dk!abrahamShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!dina.kvl.dk!abraham From: abraham@dina.kvl.dk (Per Abrahamsen) Newsgroups: gnu.g++.help,comp.lang.c++ Subject: g++ 2.7.0: bool vs. string vs. const char* overloading Date: 2 Nov 1995 08:45:00 -0500 Organization: Gatewayed from the GNU Project mailing list help-g++@prep.ai.mit.edu Sender: daemon@cis.ohio-state.edu Distribution: world Message-ID: <199511021344.OAA02487@ssv4.dina.kvl.dk>