プライベート静的変数を持つクラスがあります。メイン関数は変数の値を変更する必要がありますが、メイン関数をクラスのフレンドとして設定しても、変数はprivateでメインからはアクセスできないとコンパイラから通知されます。Cppフレンド関数はプライベート静的メンバーにアクセスできません
例:
ClassA.h:
namespace nameA{
class ClassA {
private:
static int varA;
public:
ClassA(){};
friend int main(void);
};
}
ClassA.cpp:
namespace nameA{
int ClassA::varA = 0;
}
メイン:
int main(void){
ClassA::varA = 42; //ERROR
}
私がわからない場合は、 "友人"静的メンバーにアクセスすることもできます。別の解決策を見つける。
を動作するはずです。 –