jjc@UUNET.UU.NET (James Clark) (04/02/89)
g++ 1.34.1 rejects a program that seems to me (and cfront)
valid.
Script started on Sat Apr 1 18:37:17 1989
jclark% cat same.c
struct node;
typedef int (*PCOMP)(node *, node *);
struct node {
virtual PCOMP same_function();
};
struct dnode : node {
PCOMP same_function();
friend int same_dnode(dnode *, dnode *);
};
PCOMP dnode::same_function()
{
return PCOMP(same_dnode);
}
jclark% g++ -v -c same.c
g++ version 1.34.1
/usr/local/lib/gcc-cpp -+ -v -undef -D__GNU__ -D__GNUG__ -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ same.c /tmp/cca26332.cpp
GNU CPP version 1.34
/usr/local/lib/gcc-c++ /tmp/cca26332.cpp -quiet -dumpbase same.c -version -o /tmp/cca26332.s
GNU C++ version 1.34.1 (sparc) compiled by GNU C version 1.34.
In method dnode::same_function ():
same.c:16: no appropriate type instantiation for overloaded function exists
jclark% exit
jclark%
script done on Sat Apr 1 18:37:39 1989
James Clark
jjc@jclark.uucp
uunet!mcvax!jclark!jjc