簡體   English   中英

通過靜態成員函數在C ++中初始化非const靜態成員變量

[英]Initialize non-const static member variables in C++, through a static member function

我正在嘗試以下操作並在兩個日志語句之間獲得模擬器崩潰。 有什么不對?

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM