C++一个奇怪的问题
#include <iostream>
template <typename T>
class C{
friend void f(){std::cout<< "f() called "<<std::endl;};
friend void f(C<T>*){std::cout<< "f(C<T> const&) called"<<std::endl;};
};
int main()
{
C<int> *p;
//f(); // f was not declared
f(p);// but , f(C<T>*) has been declared
return 0;
}