<?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[static const floats werden nicht exportiert]]></title><description><![CDATA[<p>Servus,</p>
<p>und noch eine merkwürdigkeit auf'm Mac:</p>
<pre><code class="language-cpp">class Test{
    static const int foo = 4;
    static const float bar = 200;
};
</code></pre>
<p>Führt auf einem Mac mit gcc 4.0.1 zu einem Linker error: Undefined symbol bar.<br />
Unter linux/windows kein Problem.<br />
Ändere ich den Typ von bar in int, kein linker error mehr.</p>
<p>Ist das ein Bug oder ein Feature?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/234784/static-const-floats-werden-nicht-exportiert</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 08:52:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/234784.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Feb 2009 13:57:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to static const floats werden nicht exportiert on Sun, 22 Feb 2009 13:57:47 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>und noch eine merkwürdigkeit auf'm Mac:</p>
<pre><code class="language-cpp">class Test{
    static const int foo = 4;
    static const float bar = 200;
};
</code></pre>
<p>Führt auf einem Mac mit gcc 4.0.1 zu einem Linker error: Undefined symbol bar.<br />
Unter linux/windows kein Problem.<br />
Ändere ich den Typ von bar in int, kein linker error mehr.</p>
<p>Ist das ein Bug oder ein Feature?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668063</guid><dc:creator><![CDATA[PhilippM]]></dc:creator><pubDate>Sun, 22 Feb 2009 13:57:47 GMT</pubDate></item><item><title><![CDATA[Reply to static const floats werden nicht exportiert on Sun, 22 Feb 2009 14:12:11 GMT]]></title><description><![CDATA[<p>Funktionierts, wenn du das hier machst?</p>
<pre><code class="language-cpp">static const float bar = 200.0f;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1668076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668076</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 22 Feb 2009 14:12:11 GMT</pubDate></item><item><title><![CDATA[Reply to static const floats werden nicht exportiert on Sun, 22 Feb 2009 15:25:54 GMT]]></title><description><![CDATA[<p>PhilippM schrieb:</p>
<blockquote>
<p>Ändere ich den Typ von bar in int, kein linker error mehr.</p>
<p>Ist das ein Bug oder ein Feature?</p>
</blockquote>
<p>Das ist ein Feature: C++ erlaubt solche direkt initialisierten static-const-Variablen nur für integrale Typen.</p>
<p>Wenn du es beim gcc erlauben willst, lass das Kommandozeilenargument -pedantic weg oder nimm -fpermissive dazu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668128</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Sun, 22 Feb 2009 15:25:54 GMT</pubDate></item><item><title><![CDATA[Reply to static const floats werden nicht exportiert on Sun, 22 Feb 2009 16:35:25 GMT]]></title><description><![CDATA[<p>seit wann ist denn ein float kein integraler Typ??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668178</guid><dc:creator><![CDATA[PhilippM]]></dc:creator><pubDate>Sun, 22 Feb 2009 16:35:25 GMT</pubDate></item><item><title><![CDATA[Reply to static const floats werden nicht exportiert on Sun, 22 Feb 2009 16:37:12 GMT]]></title><description><![CDATA[<p>PhilippM schrieb:</p>
<blockquote>
<p>seit wann ist denn ein float kein integraler Typ??</p>
</blockquote>
<p>integraler == ganzzahliger<br />
Seit wann ist float ganzzahlig? <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="😃"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668182</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 22 Feb 2009 16:37:12 GMT</pubDate></item><item><title><![CDATA[Reply to static const floats werden nicht exportiert on Sun, 22 Feb 2009 16:38:07 GMT]]></title><description><![CDATA[<p>achso. du meinst integer-typ, ich hab &quot;integrierter Typ&quot; (= eingebauter Typ im Gegensatz zu einer selbstdefinierten Klasse) gelesen.</p>
<p>Und warum ist das so?<br />
Gibt's dafür einen Grund?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668184</guid><dc:creator><![CDATA[PhilippM]]></dc:creator><pubDate>Sun, 22 Feb 2009 16:38:07 GMT</pubDate></item><item><title><![CDATA[Reply to static const floats werden nicht exportiert on Sun, 22 Feb 2009 21:38:03 GMT]]></title><description><![CDATA[<p>PhilippM schrieb:</p>
<blockquote>
<p>Und warum ist das so?<br />
Gibt's dafür einen Grund?</p>
</blockquote>
<p>Grundsätzlich ist vorgesehen, dass Variablen der Speicherklassen <code>extern</code> und <code>static</code> in den CPP-Dateien definiert werden, da im Header ein Linkerfehler (Mehrfachdefinition) entstehen könnte.</p>
<p>Bei integralen Typen wurde eine Ausnahme gemacht, damit es möglich ist, die Variable zur Compilezeit zu verwenden. So kann man sie beispielsweise als Grössenangabe für Arrays einsetzen. In der Template-Metaprogrammierung erhält man auf diese Weise auch die Möglichkeit, Informationen zur Compilezeit über Templateparameter weiterzureichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668395</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 22 Feb 2009 21:38:03 GMT</pubDate></item></channel></rss>