C++ 无法实现我的简单朋友函数C++;

C++ 无法实现我的简单朋友函数C++;,c++,friend,C++,Friend,看看我正在尝试实现的friend函数 #include <iostream> #include <string> using namespace std; class Customer { friend void displayInfo(Customer, City); private: int custNum; int zipCode; }; class City { friend void displayInfo(Customer,

看看我正在尝试实现的friend函数

#include <iostream>
#include <string>
using namespace std;
class Customer {
    friend void displayInfo(Customer, City);
private:
    int custNum;
    int zipCode;
};

class City {
    friend void displayInfo(Customer, City);
    string cityName;
    int zipCode;
};

void displayInfo(Customer cus, City city) {
    cout << cus.custNum; //compiler error - Inaccessible 
}
#包括
#包括
使用名称空间std;
类客户{
朋友无效显示信息(客户、城市);
私人:
int custNum;
int-zipCode;
};
阶级城市{
朋友无效显示信息(客户、城市);
字符串cityName;
int-zipCode;
};
无效显示信息(客户客户、城市){

cout当您将displayInfo()函数声明为City和Customer类的朋友时,作为参数(即声明中)提供给displayInfo的类City和Customer尚未定义

如图所示,如果只需在代码顶部添加两行代码,它就可以编译

class City;
class Customer;

已测试代码。只需添加类城市

#include <iostream>
#include <string>
using namespace std;

class City;

class Customer {
    friend void displayInfo(Customer, City);
private:
    int custNum;
    int zipCode;
};

class City {
    friend void displayInfo(Customer, City);
    string cityName;
    int zipCode;
};

void displayInfo(Customer cus, City city) {
    cout << cus.custNum; //compiler error - Inaccessible 
}
#包括
#包括
使用名称空间std;
三级城市;
类客户{
朋友无效显示信息(客户、城市);
私人:
int custNum;
int-zipCode;
};
阶级城市{
朋友无效显示信息(客户、城市);
字符串cityName;
int-zipCode;
};
无效显示信息(客户客户、城市){
库特