静的クラス メンバーへの未定義の参照
C では、クラス内で定義された静的メンバーはコンパイル エラーを避けるために適切な処理が必要です。
未定義の理由参照
静的メンバーは、クラス定義内で宣言されているにもかかわらず、他の場所で明示的に行われない限り、自動的には定義されません。これは、宣言が C の定義とは異なるためです。宣言は単にメンバーを導入するだけですが、定義はメモリを割り当てて初期値を提供します。
例
宣言されていない静的メンバーを持つ次のクラスを考えてみましょう。
class Example { static bool exampleStaticMember; };
exampleStaticMember を定義せずに使用しようとすると、「未定義の参照」が発生します。エラー。
定義要件
この問題を解決するには、静的メンバーを、通常はクラス定義を含むソース ファイル (.cpp) で明示的に定義する必要があります。この定義では、データ型とセミコロン (';') を使用してメンバーを再度宣言するだけです。
bool Example::exampleStaticMember;
特殊なケース
その他の静的使用法
静的キーワードは、外部で適用される場合には異なる意味を持つことに注意してください。クラス:
以上がC で静的クラス メンバーを使用すると「未定義の参照」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。