<?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[Dateiübergreifende Variabeln]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Problem mit einer Variabel, die in 2 cpp Dateien verfügbar sein muss.<br />
Wenn man Variabeln vor der main() Funktion in einer .cpp Datei(Deklarationsteil?) deklariert sind sie in dieser Datie global, aber wie kann ich eine Variabel, die z.B. in 1.cpp deklariert wurde, aus einer anderen Datei 2.cpp ansprechen?<br />
Danke schonmal<br />
Silent_S</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/160976/dateiübergreifende-variabeln</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 17:25:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/160976.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 01 Oct 2006 23:49:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dateiübergreifende Variabeln on Sun, 01 Oct 2006 23:49:20 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Problem mit einer Variabel, die in 2 cpp Dateien verfügbar sein muss.<br />
Wenn man Variabeln vor der main() Funktion in einer .cpp Datei(Deklarationsteil?) deklariert sind sie in dieser Datie global, aber wie kann ich eine Variabel, die z.B. in 1.cpp deklariert wurde, aus einer anderen Datei 2.cpp ansprechen?<br />
Danke schonmal<br />
Silent_S</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1147681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147681</guid><dc:creator><![CDATA[Silent_S]]></dc:creator><pubDate>Sun, 01 Oct 2006 23:49:20 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübergreifende Variabeln on Mon, 02 Oct 2006 00:26:03 GMT]]></title><description><![CDATA[<p>Die wohl beste Möglichkeit wäre es, sich nocheinmal gedanken zu machen und sich einen Weg ohne derartig hohe Abhängigkeiten zu überlegen.</p>
<p>Aber wenn du unbedingt eine gobale Variable in mehreren cpp-Dateien brauchst, die NICHT bestandteil einer Klasse oder dergleichen ist, könntest du die Variable als static deklarieren(in einer Header-Datei), auch wenn dies wohl nicht die beste Möglichkeit ist, verhinderst du dadurch zu mindest den Fehler der Mehrfachdeklaration o0.</p>
<p>Aber erzähl doch mal was du gerade so vor hast, vielleicht noch ein wenig code.<br />
Dann kann man vielleicht auch Tipps für einen besseren Lösungsweg geben.<br />
Du hast ja nicht mal erzählt was für eine Variable das ist usw.</p>
<p>Naja, bis später<br />
cu</p>
<p>EDIT:<br />
Alternativ könntest du auch die Variable in cpp1 normal deklarieren und in cpp2 als extern - Deklaration angeben ... Ist jedoch auch nicht gerade viel besser als das Zeug mit static o0</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1147683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147683</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Mon, 02 Oct 2006 00:26:03 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübergreifende Variabeln on Mon, 02 Oct 2006 00:52:36 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort<br />
Ich habe ein Chatprogramm vor mir mit 2 cpp Dateien (main und server) und 2 header Dateien(ebenfalls main und server). Die Klasse server benutzt in einer Funktion einen Aufruf von WSAAsyncSelect und der benötigt das HWND aus der WinMain() Funktion, was mit CreateWindow erzeugt wurde. Ich sehe da momentan keine andere Lösung, als das HWND übergreifend global zu deklarieren, dass man es in der Klasse server benutzen kann.<br />
Silent_S</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1147688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147688</guid><dc:creator><![CDATA[Silent_S]]></dc:creator><pubDate>Mon, 02 Oct 2006 00:52:36 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübergreifende Variabeln on Mon, 02 Oct 2006 00:57:18 GMT]]></title><description><![CDATA[<p>Was du suchst ist ein Window Wrapper.<br />
Damit hast du die HWND bequem in einer Klasse.<br />
Dann musst du hoffentlich nichtmehr mit globalen Variablen &quot;rumfrickeln&quot;.<br />
Such mal in Google z.B. nach &quot;WinAPI Window Wrapper&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1147690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147690</guid><dc:creator><![CDATA[DoppelWrapperMenü]]></dc:creator><pubDate>Mon, 02 Oct 2006 00:57:18 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübergreifende Variabeln on Mon, 02 Oct 2006 12:01:10 GMT]]></title><description><![CDATA[<p>Globale Variablen können durchaus Sinn machen. Zumindest gibt es das unter C++, also verraten wir dem Frager doch mal, wie das geht:</p>
<p>modul1.h:</p>
<pre><code class="language-cpp">#ifndef MODUL1_H
#define MODUL1_H
extern int globaleVariable;  // vorwärts-Deklaration
#endif
</code></pre>
<p>modul1.cpp:</p>
<pre><code class="language-cpp">#include &quot;modul1.h&quot;
int globaleVariable = 5;  // Definition
</code></pre>
<p>modul2.cpp:</p>
<pre><code class="language-cpp">#include &quot;modul1.h&quot;  // lese Deklaration der Variablen
#include &lt;iostream&gt;
int main(int argc, char* argv[])
{
  std::cout &lt;&lt; globaleVariable &lt;&lt; std::endl;  // verwende globale Variable aus modul1
  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1147935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147935</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Mon, 02 Oct 2006 12:01:10 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübergreifende Variabeln on Mon, 02 Oct 2006 12:32:10 GMT]]></title><description><![CDATA[<p>Kahino schrieb:</p>
<blockquote>
<p>Die wohl beste Möglichkeit wäre es, sich nocheinmal gedanken zu machen und sich einen Weg ohne derartig hohe Abhängigkeiten zu überlegen.</p>
</blockquote>
<p>Das wäre in der Tat das Beste.</p>
<blockquote>
<p>Aber wenn du unbedingt eine gobale Variable in mehreren cpp-Dateien brauchst, die NICHT bestandteil einer Klasse oder dergleichen ist, könntest du die Variable als static deklarieren(in einer Header-Datei), auch wenn dies wohl nicht die beste Möglichkeit ist, verhinderst du dadurch zu mindest den Fehler der Mehrfachdeklaration o0.</p>
</blockquote>
<p>Das hilft genaugenommen gar nichts, da du dann nicht *eine* globale Variable hast, die alle ÜE nutzen. Stattdessen hat nachher jede ÜE ihre eigene globale Variable. Das verhindert zwar eine *Mehrfachdefinition*, aber nicht in dem gewünschten Sinne.</p>
<blockquote>
<p>EDIT:<br />
Alternativ könntest du auch die Variable in cpp1 normal deklarieren und in cpp2 als extern - Deklaration angeben ... Ist jedoch auch nicht gerade viel besser als das Zeug mit static o0</p>
</blockquote>
<p>Es ist insofern besser, da nur diese Variante zum gewünschten Ergebnis führt. In einer cpp-Datei wird die Variable *definiert* und in allen anderen lediglich extern-deklariert. Ergebnis: es gibt eine globale Variable, auf die alle ÜE zugreifen können.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13041">@Silent_S</a><br />
Warum übergibst du das HWND nicht einfach als Argument an die Funktion?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1147953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1147953</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Mon, 02 Oct 2006 12:32:10 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübergreifende Variabeln on Mon, 02 Oct 2006 15:26:26 GMT]]></title><description><![CDATA[<p>Wie soll ich das HWND in 1.cpp als Argument an WSAAsyncSelect in 2.cpp übergeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148076</guid><dc:creator><![CDATA[Silent_S]]></dc:creator><pubDate>Mon, 02 Oct 2006 15:26:26 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübergreifende Variabeln on Tue, 03 Oct 2006 15:34:13 GMT]]></title><description><![CDATA[<p>Das funktioniert natürlich nur wenn deine Programmstruktierung sowas erlaubt, soll heißen, eine Zusammenarbiet dieser Dateien vorhanden ist und auch gut funktioniert.<br />
Wenn dir nicht sofort einfällt wie du das bei deiner Organisation machen könntest ohne viel Code umzustellen ,wird es wohl nicht so einfach gehen.</p>
<p>Bleibe lieber bei der extern-Deklaration oder benutze alternativ die<br />
Funktion &quot;FindWindow(&quot;Fensterklassenname&quot;, &quot;Fenstertitelname&quot;);&quot;.<br />
Diese Funktion liefert als Ergebnis deine HWND-Variable zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148738</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Tue, 03 Oct 2006 15:34:13 GMT</pubDate></item></channel></rss>