This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Problem with "<<" operator
On Fri, 25 Aug 2000, you wrote:
> On Aug 25, 2000, Joe Buck <jbuck@racerx.synopsys.com> wrote:
>
> >> On Aug 25, 2000, Joe Buck <jbuck@racerx.synopsys.com> wrote:
> >>
> >> > I believe that the C++ standard now requires an explicit & to indicate
> >> > a pointer-to-function
> >>
> >> Nope, `&' is only required for pointer-to-members. A function& decays
> >> to function* and, from that, I believe it decays to bool.
>
> > A name of a function can be converted to a pointer to function. But can
> > it be silently converted to a bool?
>
> [conv.bool] allows pointers to be converted to bool. It doesn't
> exclude pointers to functions. Since function-to-pointer is an lvalue
> transformation, it can be followed by a boolean conversion. Other
> implicit conversion sequences not involving a boolean conversion would
> be preferred, but that doesn't make the sequence invalid for purposes
> of overload resolution. I think it's a bug in aCC.
>
> --
> Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
> Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
> CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
> Free Software Evangelist *Please* write to mailing lists, not to me
But if you see the definition of the function "endl" in C++, you will see the
same of declaration (iostream.h) that my dummy function. And when you use
streams, you always write something like:
cout<<"Dummy"<<endl;
So why wuold it not work with another function?
--
Ir. Pascal Francq
Researcher
Université Libre de Bruxelles
Faculty of Applied Mechanics
Avenue F.D. Roosevelt, 50
CP 165/41
B-1050 Brussels
BELGIUM
Tel. +32-2-650 47 65
Fax +32-2-650 27 10