C プログラミングでは、「複数定義」のコンパイル エラーがよく発生します。これは、プログラム内に同じ名前の変数、関数、またはオブジェクトが複数定義されているためです。これらの変数、関数、またはオブジェクトはコンパイラーによってすべて同じであると見なされるため、コンパイラーは「複数定義」エラーを生成します。
実際のプログラミングでは、このような問題をどのように回避、解決すればよいでしょうか?
C では、再利用される関数や変数をヘッダー ファイルに定義して、複数のファイルでの使用を避けることができます。関数または変数を繰り返し実行します。これらの関数または変数を使用する場合、ヘッダー ファイルをインクルードするだけで済みます。
サンプルコード:
//header.h
int add(int a, int b );
//source1.cpp
int add(int a, int b){
return a + b;
}
//source2.cpp
int add(int a, int b){
return a - b;
}
このサンプルコードでは、ヘッダーファイル「header.h」を定義し、その中に関数「add」を定義します。 2 つのソース ファイル「source1.cpp」と「source2.cpp」で、それぞれ「add」関数の実装を定義します。これら 2 つのソース ファイルをコンパイルすると、コンパイラは「add」関数の呼び出しをヘッダー ファイル内の定義にポイントするため、「複数の定義」エラーが回避されます。
C では、「静的」キーワードを使用して変数または関数を「静的」としてマークし、複数のファイルでの定義の繰り返しを避けることができます。
サンプルコード:
//source1.cpp
static int num;
//source2.cpp
static int num;
namespace A{
int num;
namespace A {
int num;
以上がC++ コンパイル エラー: 複数の定義があります。それらを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。