我正在尝试以下操作,并使两个日志语句之间出现模拟器崩溃。有什么不对?
protected:
static int maxSize;
public:
static void setFontSizeRange(int max) {
Log("here %d->%d", max, maxSize);
maxSize = max;
Log("ok");
}
我可以获取该日志以重现该参数,但是在输出静态成员之前它会崩溃(因此,上面显示的第一个日志在引用该静态成员时将不起作用)。
谢谢。
最佳答案
您应该定义静态成员。
class Something
{
protected:
static int maxSize;
public:
static void setFontSizeRange(int max) {
Log("here %d->%d", max, maxSize);
maxSize = max;
Log("ok");
}
}; // class declaration ends here...
int Something::maxSize = 0;
关于c++ - 通过静态成员函数初始化C++中的非常量静态成员变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8540414/