<?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[undefined reference]]></title><description><![CDATA[<p>Folgendes:</p>
<p>base.hpp</p>
<pre><code class="language-cpp">extern const int var;
class base
{};
</code></pre>
<p>base.hpp</p>
<pre><code class="language-cpp">#include &quot;base.hpp&quot;
const int var = 9;
base::base()...
</code></pre>
<p>derived.hpp</p>
<pre><code class="language-cpp">#include &quot;base.hpp&quot;
class derived : base
{};
</code></pre>
<p>derived.cpp</p>
<pre><code class="language-cpp">#include &quot;derived.hpp&quot;
derived::derived()
{
 std::cerr &lt;&lt; var &lt;&lt; std::endl;
}
</code></pre>
<p>undefined reference to var.</p>
<p>Aber warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/251754/undefined-reference</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 07:34:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/251754.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Oct 2009 18:56:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to undefined reference on Fri, 09 Oct 2009 18:56:36 GMT]]></title><description><![CDATA[<p>Folgendes:</p>
<p>base.hpp</p>
<pre><code class="language-cpp">extern const int var;
class base
{};
</code></pre>
<p>base.hpp</p>
<pre><code class="language-cpp">#include &quot;base.hpp&quot;
const int var = 9;
base::base()...
</code></pre>
<p>derived.hpp</p>
<pre><code class="language-cpp">#include &quot;base.hpp&quot;
class derived : base
{};
</code></pre>
<p>derived.cpp</p>
<pre><code class="language-cpp">#include &quot;derived.hpp&quot;
derived::derived()
{
 std::cerr &lt;&lt; var &lt;&lt; std::endl;
}
</code></pre>
<p>undefined reference to var.</p>
<p>Aber warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1790338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1790338</guid><dc:creator><![CDATA[hg]]></dc:creator><pubDate>Fri, 09 Oct 2009 18:56:36 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference on Fri, 09 Oct 2009 19:59:40 GMT]]></title><description><![CDATA[<p>Schreib <code>extern</code> auch nochmals bei der Definition hin:</p>
<pre><code class="language-cpp">extern const int var = 9;
</code></pre>
<p>In C++ besitzen <code>const</code> -qualifizierte, nicht durch <code>extern</code> gekennzeichnete, globale Variablen nämlich standardmässig <strong>interne</strong> Bindung, also wie bei <code>static</code> . Bei deiner Verwendung von <code>var</code> wird eine Definition mit externer Bindung gesucht, und - weil keine vorhanden ist - nichts gefunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1790381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1790381</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 09 Oct 2009 19:59:40 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference on Fri, 09 Oct 2009 20:24:29 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Schreib <code>extern</code> auch nochmals bei der Definition hin:</p>
<pre><code class="language-cpp">extern const int var = 9;
</code></pre>
<p>In C++ besitzen <code>const</code> -qualifizierte, nicht durch <code>extern</code> gekennzeichnete, globale Variablen nämlich standardmässig <strong>interne</strong> Bindung, also wie bei <code>static</code> . Bei deiner Verwendung von <code>var</code> wird eine Definition mit externer Bindung gesucht, und - weil keine vorhanden ist - nichts gefunden.</p>
</blockquote>
<p>In diesem Fall haben wir es in base.cpp mit einer Redeklaration von var zu tun. var ist zu diesem Zeitpunkt bereits explizit mit extern deklariert worden und kann nicht nachträglich interne Bindung bekommen, da alle Deklarationen der gleichen Entität die gleiche Bindungsart implizieren müssen. Das Problem dürfte also eher auf fehlerhafte Linkervorgaben zurückzuführen sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1790386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1790386</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 09 Oct 2009 20:24:29 GMT</pubDate></item></channel></rss>