friend template function in distant namespace

N

Noah Roberts

How does one declare friendship with a function in a different
namespace? I figured this would do:


namespace howdy
{
template < typename T, typename T2 >
void f(T);
}

namespace bob
{
struct wtf
{
template < typename T >
friend void howdy::f(T);
};
}

But at least in VS it does not: error C2063: 'howdy::f' : not a function
 
Ö

Öö Tiib

How does one declare friendship with a function in a different
namespace?  I figured this would do:

namespace howdy
{
   template < typename T, typename T2 >
   void f(T);

}

namespace bob
{
   struct wtf
   {
     template < typename T >
     friend void howdy::f(T);


Your template function has different number of template parameters
than the friend here. Write here:
 
N

Noah Roberts

How does one declare friendship with a function in a different
namespace? I figured this would do:


namespace howdy
{
template < typename T, typename T2 >
void f(T);
}

namespace bob
{
struct wtf
{
template < typename T >
friend void howdy::f(T);
};
}

But at least in VS it does not: error C2063: 'howdy::f' : not a function

NVM. I should have been paying more attention.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,962
Messages
2,570,134
Members
46,692
Latest member
JenniferTi

Latest Threads

Top