因此,由于某些原因,我似乎无法执行此操作...
class MyClass
{
static std::string name = "Whatever";
};
我不明白,对我来说,在声明中定义某些内容是有意义的,即使它是静态的也可以,但是,我必须这样做……。
class MyClass
{
static std::string name;
};
std::string MyClass::name = "Whatever";
顺便说一句...默认情况下不是私有名称吗?那为什么我可以在课堂之外改变它的价值呢?
为什么我不能在声明中定义静态字段?
您可以!
#include <string>
class MyClass
{
static inline std::string name = "Whatever";
// ^^^^^^
};
默认情况下,名称不是私有的吗?那为什么我可以在课堂之外改变它的价值呢?
你不能!
您正在定义/初始化它,而不更改其值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句