egcs 1.1.1: odd warning message with template friend functions
Mumit Khan
khan@xraylith.wisc.EDU
Wed Mar 31 19:45:00 GMT 1999
"Jonathan Pryor" <jonpryor@vt.edu> writes:
> ------=_NextPart_000_11AA_01BE6EC4.CC9E62D0
> Content-Type: text/plain;
> charset="iso-8859-1"
> Content-Transfer-Encoding: 7bit
>
> Note: I'm not complaining about the resulting executable; I'm
> complaining about the warning message itself.
>
> When I compile the attached source code, I get the
> following warning:
>
> mi.cpp:7: warning: friend declaration `bool operator ==(
> const class meta_info<T> &, const class meta_info<T> &)'
> mi.cpp:7: warning: declares a non-template function
> mi.cpp:7: warning: (if this is not what you intended, make sure
> mi.cpp:7: warning: the function template has already been declared,
> mi.cpp:7: warning: and add <> after the function name here)
> mi.cpp:8: warning: friend declaration `class meta_info<T> metaid(
> const T &)'
> mi.cpp:8: warning: declares a non-template function
Please see "Guiding Declarations" in the standard. EGCS is correct; MSVC
doesn't implmenent this correctly. This was added after Stroustrup book
came out (at least my copy of it).
Regards,
Mumit
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
More information about the Cygwin
mailing list