C では、クラス定義内で直接 const std::string 型の静的データ メンバーを初期化します。許可されていません。代わりに、そのようなデータ メンバーを定義するには 2 つのオプションがあります:
クラス定義内で静的メンバーを定義および初期化するインライン変数を使用します:
class A { private: inline static const string RECTANGLE = "rectangle"; };
クラス定義の外側で静的メンバーを定義し、別の実装ファイルに初期化子を指定します:
ヘッダー ファイル
class A { private: static const string RECTANGLE; };
実装ファイル
const string A::RECTANGLE = "rectangle";
クラス定義内で静的データ メンバーを初期化する構文は、整数型と列挙型でのみサポートされます。 const std::string のような非整数型の場合、このアプローチは無効です。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3