在我的Environment类中,我有一个私有静态成员变量:
class Environment {
public:
// ...
private:
std::vector<Part> objects;
Color background_color;
//ERROR:
static constexpr Color default_background_color = Color({ 210, 210, 210 });
};
总的来说,我试图访问这个变量:
int main() {
// ERROR: 'member "Environment::default_background_color" is inaccessible'
Environment environment(0.1, Environment::default_background_color);
}
所以我的问题是,出了什么问题?我如何创建一个const静态变量,使其可以在Environment类之外访问?
1条答案
按热度按时间2w3kk1z51#
您的数据成员被声明为
private
(而不是static
,顺便说一句),因此类之外的任何代码都无法访问它。如果希望
main()
访问成员,请执行以下任一操作:public
(和static
):Online Demo
main()
声明为类的friend
:一个二个一个一个
Online Demo