为什么我之前收到“预期标识符”错误.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()
{
}
Run Code Online (Sandbox Code Playgroud)
为了与旧键盘和某些符号不可用的编码方案兼容,可以使用某些关键字来代替符号。其中,and是 的有效替代&&。所以你的and.name实际上被解析为&&.name,这是一个语法错误。
您的问题的(不幸的)解决方案是:不要命名变量and或该列表中的任何其他单词。