Я определил getline
функцию в своем собственном пространстве имен:
namespace pru{
class A{
friend std::istream& getline(std::istream& in, A& a)
{
std::cout << "getline\n";
return in;
}
};
И затем вызываю ее в основном как обычно:
pru::A a;
pru::getline(std::cin, a);
Но на удивление она не компилируется,И g ++, и clang выдают одну и ту же ошибку:
'getline' is not a member of 'pru'
Но если я позвоню getline
без pru
:
pru::A a;
getline(std::cin, a);
, он компилируется !!!Зачем?getline является участником pru!