クラス内での初期化のエラーに関する Polyspace コンパイル エラーの修正 (C++)
クラスのデータ メンバーがクラス定義内で static
と宣言されている場合、それはクラスの "静的メンバー" になります。静的データ メンバーは、そのクラスのインスタンスが何も作成されていないときでも存在するため、クラスの外で初期化されなければなりません。
class Test { public: static int m_number = 0; };
エラー メッセージ:
Error: a member with an in-class initializer must be const
修正されたコード:
Test.h ファイル内 | Test.cpp ファイル内 |
---|---|
class Test { public: static int m_number; }; | int Test::m_number = 0; |