如图,age函数能正常识别,其他两个友元函数无法识别
参考GPT和自己的思路:
该错误信息是因为程序没有找到所定义的友元函数。出现这种问题通常有以下几个原因:
友元函数的定义位置不正确,友元函数必须在类定义之外单独定义。
编译器没有找到正确的头文件,如果定义了其他类作为参数或返回值,可能需要包含相应的头文件。
友元函数的声明不正确,可能是声明中的某些参数类型或参数数量不匹配导致。
在您的情况下,需要确认以下几个方面:
确认友元函数的定义位置是否正确,应该在类体外定义。
确认是否包含了相应的头文件,如iostream等。
确认友元函数的声明是否正确,参数类型和数量是否与实际定义相同。
如果以上步骤都正确,那么可能是编译器出现了其他问题。可以尝试清除编译器缓存或者重新安装编译器,看是否能够解决问题。