2016-04-21 24 views
1

クラスのC++でテキストベースのRPGを作成していますが、セクションの2つが他の1つのストーリーセクションにマージすると、セクションの変数が再定義されているというエラーが表示されていますが、ヘッダーを使用していると聞いたことがありますが、これを行う方法がわからないため動作していません。ここに私のすべてのファイルへのリンクがあります:hey I am over here!C++でテキストベースのRPGゲーム/テンプレートを作成する際の問題

+0

あなたは私たちがお手伝いをするための任意のコードを提供していません。 – Ven

+0

@Venそれは私のコードを持っているリンクをチェックしてください、それは複数のファイルであり、それは永遠にかかります。もし私が変更を加えると私は書き直す必要があります。 – Ph9214

+0

Googleドライブへのリンクを教えてください。あなたが私たちに見せることができるものにあなたの問題を減らす。 – Ven

答えて

2

ファイルの先頭にinclude guardsを追加することを忘れているかもしれません。これらは、ファイルが複数回コンパイルされないようにします。同じスコープまたは関数で変数を2回定義しただけでも可能です。

(ウィキペディアより)例

#ifndef GRANDFATHER_H 
#define GRANDFATHER_H 

// this code is only compiled once thanks to the 
// preprocessor directive #ifndef  

struct foo { 
    int member; 
}; 

#endif /* GRANDFATHER_H */ 
+1

塩の価値のあるC++コンパイラは、明示的な定義の代わりに '#pragma once'を処理できます。 –

+0

'#pragma once'は**非標準**です。このSOの答えを参照してください:http://stackoverflow.com/questions/23696115/is-pragma-once-part-of-the-c11-standard –

+1

良い点が、私はそれが標準だとは決して言わなかった。 OPがSolaris(https://en.wikipedia.org/wiki/Pragma_once#Portability)上でコンパイルされている場合を除き、 '#pragma once'を使用して移植性の問題を起こしてはいけません。 –

関連する問題