2016-04-21 8 views
1

Ich mache eine Text-basierte RPG in C++ für eine Klasse, ich verwende eine Multi-Datei-Struktur für die Geschichte Abschnitte, wenn zwei der Abschnitte zu einem anderen Abschnitt Geschichte verschmelzen Ich bekomme einen Fehler, der besagt, dass die Variable für den Abschnitt neu definiert wird, ich habe gehört, Header zu verwenden, aber das hat nicht funktioniert, weil ich nicht weiß, wie es geht! Hier ist ein Link zu allen meinen Dateien: hey I am over here!Probleme, die Text basierte RPG-Spiel/Vorlage in C++ machen

+0

Sie bieten keinen Code für uns, Ihnen zu helfen. – Ven

+0

@Ven Überprüfen Sie den Link es hat meinen Code, es ist mehrere Dateien und das würde ewig dauern und wenn ich Änderungen vornehmen würde ich neu schreiben müssen. – Ph9214

+0

geben Sie uns keinen Link zu einem Google-Laufwerk. Reduzieren Sie Ihr Problem auf etwas, das Sie uns zeigen können. – Ven

Antwort

2

Sie könnten vergessen, include guards zu den Oberseiten Ihrer Dateien hinzuzufügen. Dadurch werden Ihre Dateien nicht mehr als einmal kompiliert. Sie hätten die Variable auch zweimal im selben Umfang oder derselben Funktion definieren können.

Beispiel (aus Wikipedia)

#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

Jeder C++ - Compiler, der es wert ist, kann statt der expliziten Definitionen "#pragma once" verarbeiten. –

+0

'#pragma einmal 'ist ** nicht standard **. Siehe diese SO-Antwort: http://stackoverflow.com/questions/23696115/is-pragma-once-part-of-the-c11-standard –

+1

Guter Punkt, aber ich sagte nie, dass es ein Standard war; es sei denn, das OP ist auf der Kompilierung unter Solaris (https://en.wikipedia.org/wiki/Pragma_once#Portability) höllisch beschäftigt, sollte es keine Probleme mit der Portabilität geben, die '#pragma once' verwenden. –