在理解 C++ 中的友元函数时出错

getting error in understanding friend function in c++

为什么我在 .token 之前收到“预期标识符”错误?

请提供解决方案以正确理解 friend 功能。

起初,我遇到了前向声明错误,但我自己解决了这个问题。

#include<iostream>
using namespace std;

class a;

class b
{
public:
    void search(a and);
};

class a
{
    string name;
    friend void b::search(a and);
public:
};

void b::search(a and)
{
    cout << and.name;
}

int main()
{

}

为了与某些符号不可用的旧键盘和编码方案兼容,可以使用 certain keywords 代替符号。其中,and&& 的有效替代。所以你的 and.name 实际上被解析为 &&.name,这是一个语法错误。

您的问题的(不幸的)解决方案是:不要命名变量 and 或该列表中的任何其他词。