Hello,
I'm aware about these issues being around for quite a while now, but
there is still a chance this sample code can be helpful. I apologize
if someone gets annoyed :-P
template <typename T>
struct Foo
{
template <typename Z>
friend void func(const Foo &);
};
void check(const Foo<int> & x)
{
// Foo<int> weird; // uncomment this line and all works
func<int>(x); // <-- ERROR
}
Tested with gcc 4.0 - 4.3, and all behave the same:
"error: ‘func’ was not declared in this scope"
but it works if you uncomment the weird line.
Best regards,
Dragan Milenkovic