<?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[extern int]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine als extern int deklarierten Variable in einem header File auf<br />
die nun mehrere cpp Files zugreifen sollen.<br />
Die Programme lassen sich auch kompilieren aber beim linken wird die Variable<br />
dann nicht gefunden.<br />
Mein Programmcode siegt wie folgt aus:</p>
<p>class1.h</p>
<pre><code class="language-cpp">class eins {

private:
         int mySelect;

}
</code></pre>
<p>class1.cpp</p>
<pre><code class="language-cpp">void class1::read() {
        mySelect=read(socket,buffer,BUF_SIZE);
}
</code></pre>
<p>class2.cpp</p>
<pre><code class="language-cpp">extern int mySelect;

void class2::print () {
        cout&lt;&lt;mySelect&lt;&lt;endl;
}
</code></pre>
<p>Habe extern als Verweis auf eine globale Variable verstanden die ich einmal definieren muss.</p>
<p>Kompilieren funktioniert beim linken kommt dann aber folgende Fehlermeldung:</p>
<p>&quot;undefined reference to mySelect&quot;</p>
<p>Hintergrund des Ganzen ist, daß auf mySelect Daten ankommen die dann in der Funktion class2::print weiterverarbeitet werden sollen.</p>
<p>Vielen Dank im Voraus<br />
Marc</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/151128/extern-int</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 01:28:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/151128.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Jun 2006 10:24:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to extern int on Fri, 23 Jun 2006 10:24:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine als extern int deklarierten Variable in einem header File auf<br />
die nun mehrere cpp Files zugreifen sollen.<br />
Die Programme lassen sich auch kompilieren aber beim linken wird die Variable<br />
dann nicht gefunden.<br />
Mein Programmcode siegt wie folgt aus:</p>
<p>class1.h</p>
<pre><code class="language-cpp">class eins {

private:
         int mySelect;

}
</code></pre>
<p>class1.cpp</p>
<pre><code class="language-cpp">void class1::read() {
        mySelect=read(socket,buffer,BUF_SIZE);
}
</code></pre>
<p>class2.cpp</p>
<pre><code class="language-cpp">extern int mySelect;

void class2::print () {
        cout&lt;&lt;mySelect&lt;&lt;endl;
}
</code></pre>
<p>Habe extern als Verweis auf eine globale Variable verstanden die ich einmal definieren muss.</p>
<p>Kompilieren funktioniert beim linken kommt dann aber folgende Fehlermeldung:</p>
<p>&quot;undefined reference to mySelect&quot;</p>
<p>Hintergrund des Ganzen ist, daß auf mySelect Daten ankommen die dann in der Funktion class2::print weiterverarbeitet werden sollen.</p>
<p>Vielen Dank im Voraus<br />
Marc</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1083694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1083694</guid><dc:creator><![CDATA[marcstud]]></dc:creator><pubDate>Fri, 23 Jun 2006 10:24:37 GMT</pubDate></item><item><title><![CDATA[Reply to extern int on Fri, 23 Jun 2006 10:52:59 GMT]]></title><description><![CDATA[<p>marcstud schrieb:</p>
<blockquote>
<p>ich habe eine als extern int deklarierten Variable in einem header File auf<br />
die nun mehrere cpp Files zugreifen sollen.</p>
</blockquote>
<p>Nein, hast du nicht. Du hast eine Membervariable in Klasse class1 in der Headerdatei. Und du hast eine extern deklarierte globale Variable mit demselben Namen in class2.cpp. Diese beiden haben nichts miteinander zu tun. Die globale Variable ist außerdem nirgends definiert, daher beschwert sich der Linker.</p>
<blockquote>
<p>Hintergrund des Ganzen ist, daß auf mySelect Daten ankommen die dann in der Funktion class2::print weiterverarbeitet werden sollen.</p>
</blockquote>
<p>Dann sollte class2 irgendwie auf das class1-Objekt zugreifen können, das zum Einlesen benutzt wurde. Über eine globale Variable geht das nur, wenn class1 auch in diese globale Variable einliest.</p>
<p>Kann es sein, dass du noch Probleme mit dem Unterschied zwischen Klasse und Objekt hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1083721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1083721</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 23 Jun 2006 10:52:59 GMT</pubDate></item></channel></rss>