【发布时间】:2018-01-07 04:14:02
【问题描述】:
我有一个带有私有静态变量的类。主函数应该更改变量中的值,但即使我将主函数设置为类的朋友,编译器也会告诉我该变量是私有的,不能从主函数访问。
例子:
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
}
我不知道“朋友”是否也允许访问静态成员,或者我是否必须找到其他解决方案。
【问题讨论】:
-
函数main没有在全局命名空间之外的命名空间中声明。
标签: c++