public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* How to use friend functions.
@ 2004-03-02  0:28 Jeffrey Holle
  2004-03-02  2:56 ` Jeffrey Holle
  2004-03-02 13:48 ` Eljay Love-Jensen
  0 siblings, 2 replies; 4+ messages in thread
From: Jeffrey Holle @ 2004-03-02  0:28 UTC (permalink / raw)
  To: gcc-help

I use gcc v3.3.
I'm developing an application in which I want to restrict access to a 
member function to everything but 1 function.

I'm attempting to accomplish this by making the method private and my 
function a friend, but failing.

The synopsis of the function is:
   template<class T1> void putNamespace(const string& name, T1& object);

I attempt to define this function has a friend of CParameter with the 
following in the public definition area of this class.
   friend void putNamespace(const string& name, CParameter& object);

I've tried to indicate what this function actually is (a template), but 
run into compiler errors.

It compiled the shared library that I'm defining it in, but when I 
attempt to compile a client that uses it like:
	putNamespace("std",myParameter);
I get errors associated with putNamespace attempting to a private method 
of CParameter, which it does!

I've backed off from the template as an experiment.  In defining 
putNamespace to take a second parameter of "CParameter", I get these 
compilation errors in compiling my shared library.

Can anybody tell me what I'm doing wrong?


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-03-02 13:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-02  0:28 How to use friend functions Jeffrey Holle
2004-03-02  2:56 ` Jeffrey Holle
2004-03-02 11:17   ` Claudio Bley
2004-03-02 13:48 ` Eljay Love-Jensen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).