<?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 const Probleme]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>main.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;memory&gt;
#include &quot;header.hpp&quot;

extern const int ARRAYSIZE=10;

int main() {
    std::array&lt;int, ARRAYSIZE&gt; fooArray;

    array_fill(fooArray);
    array_ausgabe(fooArray);

    return 0;
}
</code></pre>
<p>header.hpp</p>
<pre><code>#ifndef HEADER_HPP
#define HEADER_HPP

extern const int ARRAYSIZE;

void array_fill(std::array&lt;int, ARRAYSIZE&gt; &amp;foo);
void array_ausgabe(std::array&lt;int, ARRAYSIZE&gt; &amp;foo);

#endif
</code></pre>
<p>header.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;memory&gt;
#include &quot;header.hpp&quot;

extern const int ARRAYSIZE;

void array_fill(std::array&lt;int, ARRAYSIZE&gt; &amp;foo) {
    for (int i=0;i&lt;ARRAYSIZE;i++)
        foo[i]=i;
}

void array_ausgabe(std::array&lt;int, ARRAYSIZE&gt; &amp;foo) {
    for (int i=0;i&lt;ARRAYSIZE;i++)
        std::cout &lt;&lt; &quot; &quot; &lt;&lt; foo[i];
}
</code></pre>
<pre><code>gcc -Wall -pedantic -o main.exe main.cpp header.cpp
</code></pre>
<p>ganz viele Fehler wegen ARRAYSIZE ......<br />
<a href="http://s1.directupload.net/images/131205/omabzy86.png" rel="nofollow">http://s1.directupload.net/images/131205/omabzy86.png</a></p>
<p>Zu extern hab ich natürlich Literatur da.<br />
Aber das ungewöhnliche ist wohl, dass die const Zahl im Header auch in .hpp vorkommt. Alles was ich in der Literatur oder im Internet dazu gefunden habe, beschäftigt sich nur damit, dass eine const Zahl nur in .cpp vorkommt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Vielen Dank und<br />
die besten Grüße! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/322068/extern-const-probleme</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 11:28:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322068.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Dec 2013 14:16:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:32:27 GMT]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>main.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;memory&gt;
#include &quot;header.hpp&quot;

extern const int ARRAYSIZE=10;

int main() {
    std::array&lt;int, ARRAYSIZE&gt; fooArray;

    array_fill(fooArray);
    array_ausgabe(fooArray);

    return 0;
}
</code></pre>
<p>header.hpp</p>
<pre><code>#ifndef HEADER_HPP
#define HEADER_HPP

extern const int ARRAYSIZE;

void array_fill(std::array&lt;int, ARRAYSIZE&gt; &amp;foo);
void array_ausgabe(std::array&lt;int, ARRAYSIZE&gt; &amp;foo);

#endif
</code></pre>
<p>header.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;memory&gt;
#include &quot;header.hpp&quot;

extern const int ARRAYSIZE;

void array_fill(std::array&lt;int, ARRAYSIZE&gt; &amp;foo) {
    for (int i=0;i&lt;ARRAYSIZE;i++)
        foo[i]=i;
}

void array_ausgabe(std::array&lt;int, ARRAYSIZE&gt; &amp;foo) {
    for (int i=0;i&lt;ARRAYSIZE;i++)
        std::cout &lt;&lt; &quot; &quot; &lt;&lt; foo[i];
}
</code></pre>
<pre><code>gcc -Wall -pedantic -o main.exe main.cpp header.cpp
</code></pre>
<p>ganz viele Fehler wegen ARRAYSIZE ......<br />
<a href="http://s1.directupload.net/images/131205/omabzy86.png" rel="nofollow">http://s1.directupload.net/images/131205/omabzy86.png</a></p>
<p>Zu extern hab ich natürlich Literatur da.<br />
Aber das ungewöhnliche ist wohl, dass die const Zahl im Header auch in .hpp vorkommt. Alles was ich in der Literatur oder im Internet dazu gefunden habe, beschäftigt sich nur damit, dass eine const Zahl nur in .cpp vorkommt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Vielen Dank und<br />
die besten Grüße! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369977</guid><dc:creator><![CDATA[Lymogry]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:32:27 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:22:07 GMT]]></title><description><![CDATA[<p>mit vorbehalt:</p>
<p>in main.cpp:<br />
gar nichts, komplett weg.</p>
<p>in header.hpp:<br />
so wie es atm ist.</p>
<p>in header.cpp:<br />
extern weg, sonst so wie es ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369980</guid><dc:creator><![CDATA[asfsdf]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:22:07 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:23:59 GMT]]></title><description><![CDATA[<p>Nimm ARRAYSIZE in main.cpp das extern weg. Da wohnt sie dann und überall sonst ist sie eben extern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369981</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:23:59 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:25:57 GMT]]></title><description><![CDATA[<p>Lymogry schrieb:</p>
<blockquote>
<p>ganz viele Fehler wegen ARRAYSIZE ......</p>
</blockquote>
<p>Die du uns nicht vorenthalten solltest (jedenfalls nicht den ersten).<br />
Die Fehlermeldung dürfte dahingehend lauten, dass ARRAYSIZE kein konstanter Ausdruck sei.<br />
Ein Ausdruck, der auf eine const-qualifizierte Variable verweist, ist nur dann ein konstanter Ausdruck, wenn die Variable <em>zuvor</em> mit einem konstanten Ausdruck initialisiert wurde.<br />
Andererseits würde eine Initialisierung bei einer nicht-lokalen Variable die Deklaration automatisch in eine Definition verwandeln, was zum Problem wird, sobald die Variable in mehreren ÜEs verwendet werden soll.<br />
Schlussfolgerung: nicht-lokale Konstanten mit externer Bindung sind als Templateparameter ungeeignet.<br />
Wahrscheinlich besteht aber auch gar keine Notwendigkeit, dieser Konstante externe Bindung mitzugeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369982</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:25:57 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:26:50 GMT]]></title><description><![CDATA[<p>asfsdf schrieb:</p>
<blockquote>
<p>mit vorbehalt:</p>
<p>in main.cpp:<br />
gar nichts, komplett weg.</p>
<p>in header.hpp:<br />
so wie es atm ist.</p>
<p>in header.cpp:<br />
extern weg, sonst so wie es ist.</p>
</blockquote>
<p>Das geht leider nicht.</p>
<blockquote>
<p>Nimm ARRAYSIZE in main.cpp das extern weg. Da wohnt sie dann und überall sonst ist sie eben extern.</p>
</blockquote>
<p>Das geht auch nicht. <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>So wie ich das verstanden habe, sind die Vorschläge möglich, wenn es kein <strong>const</strong> ist. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369983</guid><dc:creator><![CDATA[Lymogry]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:26:50 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:34:25 GMT]]></title><description><![CDATA[<p>Ok. Also hier ist der Fehler<br />
<a href="http://s1.directupload.net/images/131205/omabzy86.png" rel="nofollow">http://s1.directupload.net/images/131205/omabzy86.png</a></p>
<p>Bei der Kompilierung die ganz oben im Eingangsthread steht.</p>
<p>Camper schrieb:</p>
<blockquote>
<p>Schlussfolgerung: nicht-lokale Konstanten mit externer Bindung sind als Templateparameter ungeeignet.<br />
Wahrscheinlich besteht aber auch gar keine Notwendigkeit, dieser Konstante externe Bindung mitzugeben.</p>
</blockquote>
<p>Hallo Camper. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Leider versteh ich noch nicht, was nun zu tun ist ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369985</guid><dc:creator><![CDATA[Lymogry]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:34:25 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:38:26 GMT]]></title><description><![CDATA[<p>Lymogry schrieb:</p>
<blockquote>
<p>asfsdf schrieb:</p>
<blockquote>
<p>mit vorbehalt:</p>
<p>in main.cpp:<br />
gar nichts, komplett weg.</p>
<p>in header.hpp:<br />
so wie es atm ist.</p>
<p>in header.cpp:<br />
extern weg, sonst so wie es ist.</p>
</blockquote>
<p>Das geht leider nicht.</p>
</blockquote>
<p>Lymogry schrieb:</p>
<blockquote>
<p>Camper schrieb:</p>
<blockquote>
<p>Schlussfolgerung: nicht-lokale Konstanten mit externer Bindung sind als Templateparameter ungeeignet.<br />
Wahrscheinlich besteht aber auch gar keine Notwendigkeit, dieser Konstante externe Bindung mitzugeben.</p>
</blockquote>
<p>Hallo Camper. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Leider versteh ich noch nicht, was nun zu tun ist ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Ich auch nicht, da ich nicht weiss, welchen Beschränkungen eine potentielle Lösung genügen muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369988</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:38:26 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:43:38 GMT]]></title><description><![CDATA[<p>In den Header (ich meine nicht den Dateinamen) kommt</p>
<pre><code class="language-cpp">const int ARRAYSIZE=10;
</code></pre>
<p>in die anderen Dateien nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369991</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:43:38 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:45:54 GMT]]></title><description><![CDATA[<p>Beschränkungen?<br />
Ein Array fester Größe soll in mehreren geteilten Headern verfügbar sein. (Ich sortiere meine Fkten gerade nach Outout Header, Algorithmus Header, Input Header usw.)</p>
<p>Eigentlich hab ich ein 2D Array. Das will ich aber nicht 2D speichern, sondern nur 1D (&lt;int, ARRAYSIZE*ARRAYSIZE&gt;) und mit ARRAYSIZE*y+x durchlaufen.<br />
Also bin ich sehr dadran interessiert, diese Größe überall verfügbar zu haben. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369992</guid><dc:creator><![CDATA[Lymogry]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:45:54 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:51:35 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>In den Header (ich meine nicht den Dateinamen) kommt</p>
<pre><code class="language-cpp">const int ARRAYSIZE=10;
</code></pre>
<p>in die anderen Dateien nichts.</p>
</blockquote>
<p>Hallo Manni,</p>
<p>so siehts danach aus:<br />
<a href="http://s1.directupload.net/images/131205/5nerkl3e.png" rel="nofollow">http://s1.directupload.net/images/131205/5nerkl3e.png</a></p>
<p>(das versteh ich nun gar nicht mehr)<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369995</guid><dc:creator><![CDATA[Lymogry]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:51:35 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:54:02 GMT]]></title><description><![CDATA[<p>Lymogry schrieb:</p>
<blockquote>
<p>so siehts danach aus:<br />
<a href="http://s1.directupload.net/images/131205/5nerkl3e.png" rel="nofollow">http://s1.directupload.net/images/131205/5nerkl3e.png</a></p>
<p>(das versteh ich nun gar nicht mehr)<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Warum steht da noch extern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369997</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:54:02 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 14:56:46 GMT]]></title><description><![CDATA[<p>ups!!!<br />
Ok, ohne klappts! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Und funktioniert das zufällig auch, wenn ich mehrere header1 header2 habe .. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
(so ist das Ursprungsproblem!) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370000</guid><dc:creator><![CDATA[Lymogry]]></dc:creator><pubDate>Thu, 05 Dec 2013 14:56:46 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 15:03:03 GMT]]></title><description><![CDATA[<p>Ja, solche Konstanten haben implizite internal linkage, heißt du bekommst keine Probleme wegen doppelten Definitionen wenn der Header mehrmals eingebunden wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370002</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Thu, 05 Dec 2013 15:03:03 GMT</pubDate></item><item><title><![CDATA[Reply to extern const Probleme on Thu, 05 Dec 2013 15:30:10 GMT]]></title><description><![CDATA[<p>Vielen Dank euch allen!</p>
<p>Es funktioniert. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2370006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2370006</guid><dc:creator><![CDATA[Lymogry]]></dc:creator><pubDate>Thu, 05 Dec 2013 15:30:10 GMT</pubDate></item></channel></rss>