静的変数への未定義の参照: リンク エラーの解決
C コードをコンパイルするときに、変数を参照するときに「未定義のシンボル」エラーが発生することがあります。ヘッダー ファイルで定義された静的変数。このエラーは、リンカーがリンク中に静的変数の定義を見つけられないために発生します。
この例では、ヘッダー ファイル Log.h は静的文字列メンバー theString を宣言しています。ただし、この静的変数の定義が Log.cpp ファイルにありません。この問題を解決するには、次の手順に従います。
CPP ファイルで静的変数を定義します。
#include "Log.h" #include <iostream> // Define the static variable here string Log::theString; void Log::method(string arg) { theString = "hola"; cout << theString << endl; }
不要な名前空間宣言を削除します:
これらの変更を行うことで、リンカーはリンク中に静的変数の定義を見つけて、 「未定義のシンボル」エラー。
以上がC コードで「静的変数への未定義の参照」リンカー エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。