无法理解为什么朋友功能不起作用

Not able to understand why friend function is not working

#include<iostream>
using namespace std;

class A;
void test(A &a);
class A
{
    private:
        int x;
        int y;
        friend void test();
};
void test(A &a)
{
    a.x = 1;
    a.y = 2;
    cout << a.x << " " << a.y << endl;
}
int main()
{
    A a;
    test(a);
}

我得到的错误如下-

1.error: ‘int A::x’在此上下文中是私有的

2.error: ‘int A::y’在此上下文中是私有的

友元函数不是应该能够修改 class 的私有成员吗?

#include <iostream>
using namespace std;

class A { 
  private: 
    int x; 
    int y; 

  public: 
    friend void test(A &); 
};

void test(A &a) { 
  a.x=1; 
  a.y=2; 
  cout << a.x << " " << a.y << endl; 
}

int main() { 
  A a; 
  test(a); 
}

我的代码有一个错误:我在 class 中给出的朋友定义是错误的

#include<iostream>
using namespace std;

class A;
void test(A &a);
class A
{
    private:
        int x;
        int y;
        friend void test(A &a);
};
void test(A &a)
{
    a.x = 1;
    a.y = 2;
    cout << a.x << " " << a.y << endl;
}
int main()
{
    A a;
    test(a);
}