[英]data member is inaccessible even though the class has been declared as friend class
即使該類已聲明為友元類,數據成員也無法訪問。 錯誤:'total' 未在此范圍內聲明
#include <iostream>
#include <iomanip>
using namespace std;
class Produce
{
private:
float total;
public:
Produce()
{
total=0;
}
friend class Bill;
};
class Bill
{
private:
float grand_total;
public:
Bill()
{
grand_total=0;
}
Bill operator+=(const Produce &p)
{
return Bill(total+p.total);
}
};
錯誤信息是正確的:當前作用域中沒有名稱total
。 代碼應該要么引用grand_total
,它是類Bill
的成員,后者又定義了正在編寫的operator+=
,或者它應該引用p.total
來訪問屬於類Produce
成員的total
。
使A
類成為B
類的朋友並不意味着您可以從A
隨機命名B
非靜態成員,而無需命名B
的實例以供使用。
您希望您的程序使用哪個Produce::total
(可能是無限的)?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.