<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen?]]></title><description><![CDATA[<p>Hi,</p>
<p>bisher habe ich das wenige was ich mir beibringen konnte alles in eine Datei geschrieben, aber nachdem ich nun die Marke von 600 Zeilen überschritten habe und es langsam lästig wird hoch und runter zu scrollen, auf der Suche nach etwas, wollte ich meinen Code ein wenig auslagern und habe mir mal angeguckt wie das mit den .cpp und .h funktioniert. Grundsätzlich Funktioniert das auch aber nun habe ich doch eine Frage, hier mal mein Problem:</p>
<p>main.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;SDL_opengl.h&gt;
#include &quot;test.h&quot;

bool Quit = false;

int main( int argc, char** argv)
{
	while( Quit == false)
	{
		Test();
	}

	return 0;
}
</code></pre>
<p>test.h</p>
<pre><code class="language-cpp">void Test();
</code></pre>
<p>test.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;SDL_opengl.h&gt;
#include &quot;test.h&quot;

void Test()
{
	for( int i = 0; i &lt; 10; i++)
	{
		SDL_Delay(100);
	}
	Quit = true;
}
</code></pre>
<p>Dabei bekomme ich jetzt halt die Fehlermeldung in der test.cpp das Quit nicht deklariert wurde. Wie mache ich das denn wenn ich diese Variable aber auch in den anderen Files benutzen möchte? Die Variable Quit soll halt generell in allen weiteren .cpp Files verfügbar sein. Hab's probiert die Variable vor dem Aufruf von test.h zu deklarieren aber das brachte keinen Erfolg.</p>
<p>Gruß Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/266469/gelöst-newbiefrage-globale-variablen-in-mehreren-cpp-nutzen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 07:14:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266469.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 09 May 2010 16:52:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen? on Tue, 11 May 2010 09:32:13 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bisher habe ich das wenige was ich mir beibringen konnte alles in eine Datei geschrieben, aber nachdem ich nun die Marke von 600 Zeilen überschritten habe und es langsam lästig wird hoch und runter zu scrollen, auf der Suche nach etwas, wollte ich meinen Code ein wenig auslagern und habe mir mal angeguckt wie das mit den .cpp und .h funktioniert. Grundsätzlich Funktioniert das auch aber nun habe ich doch eine Frage, hier mal mein Problem:</p>
<p>main.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;SDL_opengl.h&gt;
#include &quot;test.h&quot;

bool Quit = false;

int main( int argc, char** argv)
{
	while( Quit == false)
	{
		Test();
	}

	return 0;
}
</code></pre>
<p>test.h</p>
<pre><code class="language-cpp">void Test();
</code></pre>
<p>test.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;SDL_opengl.h&gt;
#include &quot;test.h&quot;

void Test()
{
	for( int i = 0; i &lt; 10; i++)
	{
		SDL_Delay(100);
	}
	Quit = true;
}
</code></pre>
<p>Dabei bekomme ich jetzt halt die Fehlermeldung in der test.cpp das Quit nicht deklariert wurde. Wie mache ich das denn wenn ich diese Variable aber auch in den anderen Files benutzen möchte? Die Variable Quit soll halt generell in allen weiteren .cpp Files verfügbar sein. Hab's probiert die Variable vor dem Aufruf von test.h zu deklarieren aber das brachte keinen Erfolg.</p>
<p>Gruß Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894755</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Tue, 11 May 2010 09:32:13 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen? on Sun, 09 May 2010 16:55:38 GMT]]></title><description><![CDATA[<p>Globale Variablen wei du sie nutzen willst sind <strong>extrem</strong> schlechter Stil. Überleg dir lieber noch einmal ob du deinen Code wirklich so verhunzen willst.</p>
<p>Ansonsten:<br />
In eine Header-Datei gehört die Deklaration der Variable:<br />
extern type identifier;</p>
<p>Überall wo du diese Variable nutzen willst musst du die Headerdatei einbinden.</p>
<p>In <strong>eine</strong> Source-Datei gehört die Definition der Variable:<br />
type identifier = initvalue;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894758</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Sun, 09 May 2010 16:55:38 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen? on Sun, 09 May 2010 17:10:22 GMT]]></title><description><![CDATA[<p>Danke schonmal für die schnelle Antwort. Von gutem und schlechtem Stil hab ich noch nicht die leiseste Ahnung... *gg* Aber ich hätte halt gerne das ein paar wenige Variablen überall in meinem Code zugreifbar sind. Also muss ich jetzt eine Header schreiben in der die Variablen die ich überall nutzen möchte drin stehen? Das ist ja einfach <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Ok, dachte ich zumindest. Kannst du mir eventuell wenn's nicht zuviel Umstände macht das mal kurz für ganz dumme an meinem Beispielcode erläutern? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>[EDIT]<br />
Ok, hab's doch hinbekommen... Wer versteht was er liest ist klar im Vorteil... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894760</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Sun, 09 May 2010 17:10:22 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen? on Sun, 09 May 2010 20:16:49 GMT]]></title><description><![CDATA[<p>Ok, ich noch mal schnell. Bis jetzt hat mir deine Antwort wirklich sehr weiter geholfen, allerdings bin ich jetzt an einem Punkt wo ich dann doch wieder stecken bleibe. Hier mal grad mein zusammengekürzter Code um den es geht:</p>
<p>main.cpp</p>
<pre><code class="language-cpp">void ReadLine( ifstream &amp;file, string &amp;line)
{
	getline( file, line);
}

/* --- */

ifstream file;
string line;
file.open( &quot;test.txt&quot;, ios::in);
while( !file.eof())
{
	ReadLine( file, line);
	cout&lt;&lt;line&lt;&lt;endl;
}
</code></pre>
<p>Das funktioniert soweit, allerdings wenn ich die Funktion ReadLine in eine eigene .cpp stecken möchte, da ich es wohl häufiger auch an anderen Stellen brauchen werde einfach die nächste Zeile aus einer .txt zu holen, bekomme ich sehr sehr viele Fehlermeldungen meines Compilers. Jedenfalls mehr als ich hier auflisten könnte. Habe es so probiert:</p>
<p>main.cpp</p>
<pre><code class="language-cpp">ifstream file;
string line;
file.open( &quot;test.txt&quot;, ios::in);
while( !file.eof())
{
	ReadLine( file, line);
	cout&lt;&lt;line&lt;&lt;endl;
}
</code></pre>
<p>test.h</p>
<pre><code class="language-cpp">void ReadLine( ifstream &amp;file, string &amp;line);
</code></pre>
<p>test.cpp</p>
<pre><code class="language-cpp">void ReadLine( ifstream &amp;file, string &amp;line)
{
	getline( file, line);
}
</code></pre>
<p>Nehme an ReadLine.cpp kann die Variablen file und line nicht kennen? Aber wie übergebe ich ihm die richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894856</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Sun, 09 May 2010 20:16:49 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen? on Sun, 09 May 2010 20:22:15 GMT]]></title><description><![CDATA[<p>ReadLine kennt die Parameter, die du übergibst. Welcher Fehlermeldungen kriegst du denn? In der Regel sind nur die ersten paar Zeilen interessant.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894861</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Sun, 09 May 2010 20:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen? on Sun, 09 May 2010 20:26:59 GMT]]></title><description><![CDATA[<p>error: variable or field 'ReadLine' declared void<br />
error: 'ifstream' was not declared in this scope<br />
error: 'file' was not declared in this scope<br />
error: 'string' was not declared in this scope<br />
error: 'line' was not declared in this scope</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894864</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Sun, 09 May 2010 20:26:59 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen? on Sun, 09 May 2010 20:31:12 GMT]]></title><description><![CDATA[<p>main.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;ReadLine.h&quot;

int main()
{
    std::ifstream file(&quot;Test.txt&quot;);
    std::string text;
    ReadLine(file, text);
}
</code></pre>
<p>ReadLine.h</p>
<pre><code class="language-cpp">#ifndef READLINE_H_INCLUDED
#define READLINE_H_INCLUDED

#include &lt;fstream&gt;

void ReadLine(std::ifstream &amp;file, std::string &amp;line);

#endif // READLINE_H_INCLUDED
</code></pre>
<p>ReadLine.cpp</p>
<pre><code class="language-cpp">#include &quot;ReadLine.h&quot;

void ReadLine(std::ifstream &amp;file, std::string &amp;line)
{
    getline(file, line);
}
</code></pre>
<p>Edit:<br />
Hab vergessen was zu fragen.<br />
Worin liegt eig. der Sinn von ReadLine? Warum rufst du nicht gleich getline() auf? Das einzigste, was du hier machst, ist noch einen weiteren Funktionsaufruf dazwischen zu quetschen, der total unnötig ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894866</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Sun, 09 May 2010 20:31:12 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen? on Sun, 09 May 2010 20:30:12 GMT]]></title><description><![CDATA[<p>Bindest du die nötigen Header für ifstream und string ein? Und denkst du an &quot;using namespace std;&quot;? (using namespace ist Stiltechnisch in Header-Dateien verboten, da die Header dadurch den Namespace der Source-Dateien verunreinigen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894867</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Sun, 09 May 2010 20:30:12 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen? on Sun, 09 May 2010 20:43:22 GMT]]></title><description><![CDATA[<p>Also mein ganzer Code den ich grad zum Testen nehme schaut so aus:</p>
<p>main.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;fstream&gt;
using namespace std;

int main()
{
	ifstream file;
	string line;
	file.open( &quot;test.txt&quot;, ios::in);
	while( !file.eof())
	{
		ReadLine( file, line);
		cout&lt;&lt;line&lt;&lt;endl;
	}
	return 0;
}
</code></pre>
<p>test.h</p>
<pre><code class="language-cpp">void ReadLine( ifstream &amp;file, string &amp;line);
</code></pre>
<p>test.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;fstream&gt;
using namespace std;

void ReadLine( ifstream &amp;file, string &amp;line)
{
	do
	{
		getline( file, line);
	} while( !file.eof() &amp;&amp; (line[0] == '/' || line[0] == '\n'));
}
</code></pre>
<p>Habe das ReadLine ausgelagert da ich es häufiger brauchen werde und ich nicht jedesmal die ganze Zeile schreiben wollte von wegen Kommentare und Leerzeilen überspringen. So ruf ich dann ReadLine auf und bekomme genau was ich will. Halt immer wenn ich es aufrufe. Zumindest ist das mein Gedanke dahinter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894873</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Sun, 09 May 2010 20:43:22 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen? on Sun, 09 May 2010 20:46:51 GMT]]></title><description><![CDATA[<p>insanity schrieb:</p>
<blockquote>
<p>test.h</p>
<pre><code class="language-cpp">void ReadLine( ifstream &amp;file, string &amp;line);
</code></pre>
</blockquote>
<p>Hier benutzt du die Typen &quot;ifstream&quot; und &quot;string&quot;, welche jedoch überhaupt nicht bekannt sind. Schau dir das Beispiel vom freakigen Freaky an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894876</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Sun, 09 May 2010 20:46:51 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] Globale Variablen in mehreren .cpp nutzen? on Sun, 09 May 2010 20:55:12 GMT]]></title><description><![CDATA[<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Ich verneige mich vor euren Künsten! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Hier muss man auch auf alles achten... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich habe jetzt in die Header kein using namespace std geschrieben sondern std:: verwendet wegen deiner Aussage oben. Ist das generell falsch namespace zu verwenden oder nur schlecht weil er das dann auf die ganze Datei anwenden möchte die zum Header gehört? Weil in der Datei würde ich doch eh den selben Namespace nutzen wollen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894880</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Sun, 09 May 2010 20:55:12 GMT</pubDate></item></channel></rss>