| delorie.com/archives/browse.cgi | search |
| Message-ID: | <398326AF.4C7E65CE@puckbell.net> |
| From: | Wesel <nospam AT puckbell DOT net> |
| X-Mailer: | Mozilla 4.73 [en] (Win98; U) |
| X-Accept-Language: | en |
| MIME-Version: | 1.0 |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | friend/member function bug? |
| Lines: | 64 |
| Date: | Sat, 29 Jul 2000 11:47:11 -0700 |
| NNTP-Posting-Host: | 63.197.122.98 |
| X-Complaints-To: | abuse AT pacbell DOT net |
| X-Trace: | news.pacbell.net 964895976 63.197.122.98 (Sat, 29 Jul 2000 11:39:36 PDT) |
| NNTP-Posting-Date: | Sat, 29 Jul 2000 11:39:36 PDT |
| Organization: | SBC Internet Services |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
Is there a bug when you give friend functions and member functions the
same name? I made this code:
------------------------------------------------
// In test.h
#include <iostream>
using std::cout;
template <class Type>
struct foo
{
Type bar;
foo& operator<<(const Type& e)
{
bar = e;
return *this;
}
friend ostream& operator<<<>(ostream& os,foo<Type> const& q);
};
template <class Type> inline ostream& operator<<(ostream& os,foo<Type>
const& q)
{
foo<Type> const* temp = &q;
return os << temp->bar << endl;
}
------------------------------------------------
------------------------------------------------
// In test.cpp
#include "test.h"
#include <iostream>
void main(void)
{
foo<int> test;
cout << test;
}
------------------------------------------------
And got this compiler error:
test.h: In instantiation of `foo<int>':
test.cpp:6: instantiated from here
test.h:15: invalid use of undefined type `struct foo<int>'
test.h:16: forward declaration of `struct foo<int>'
test.h:15: confused by earlier errors, bailing out
Someone suggested that gcc v. 2.95.2 has a bug when you try to declare
operator<< as a friend and <class>::operator<< as a member. Is this
true, and if so is there any way to work around it?
Tasci
--
To send me an email, just replace the @ and the .
-----wassdamo at pacbell dot net
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |