<?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[Warum is folgende Anweisung nicht constant?]]></title><description><![CDATA[<p>Hallo NG,</p>
<p>ich definiere mir gerade einige Werte. Aber bei einigen meint der Compiler:</p>
<p>error: initializer element is not constant</p>
<p>Die entsprechenden Zeilen sehen so aus:</p>
<pre><code class="language-cpp">const unsigned int   BASE    =  0x10000000;
const unsigned int   SPECIAL =  0x00000001 + BASE; // Das wird angemeckert
</code></pre>
<p>Gruß,<br />
M. Incani</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/205361/warum-is-folgende-anweisung-nicht-constant</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Oct 2026 00:37:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/205361.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Feb 2008 12:52:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum is folgende Anweisung nicht constant? on Wed, 13 Feb 2008 12:52:40 GMT]]></title><description><![CDATA[<p>Hallo NG,</p>
<p>ich definiere mir gerade einige Werte. Aber bei einigen meint der Compiler:</p>
<p>error: initializer element is not constant</p>
<p>Die entsprechenden Zeilen sehen so aus:</p>
<pre><code class="language-cpp">const unsigned int   BASE    =  0x10000000;
const unsigned int   SPECIAL =  0x00000001 + BASE; // Das wird angemeckert
</code></pre>
<p>Gruß,<br />
M. Incani</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1455047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1455047</guid><dc:creator><![CDATA[BlackPepper]]></dc:creator><pubDate>Wed, 13 Feb 2008 12:52:40 GMT</pubDate></item><item><title><![CDATA[Reply to Warum is folgende Anweisung nicht constant? on Wed, 13 Feb 2008 12:56:10 GMT]]></title><description><![CDATA[<p>Bei mir gehts ohne Probleme.<br />
Compiler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1455050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1455050</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Wed, 13 Feb 2008 12:56:10 GMT</pubDate></item><item><title><![CDATA[Reply to Warum is folgende Anweisung nicht constant? on Wed, 13 Feb 2008 12:58:35 GMT]]></title><description><![CDATA[<p>visual studio</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1455052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1455052</guid><dc:creator><![CDATA[ich rate mal ;)]]></dc:creator><pubDate>Wed, 13 Feb 2008 12:58:35 GMT</pubDate></item><item><title><![CDATA[Reply to Warum is folgende Anweisung nicht constant? on Wed, 13 Feb 2008 13:03:48 GMT]]></title><description><![CDATA[<p>Das glaube ich nicht. Ich hab gcc 4.2.1 und die Anweisung widerspricht keiner Logik. Und der gcc Aufruf aus Kdevelop heraus lautet:</p>
<p>gcc -c -pipe -O2 -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -g -fno-strict-aliasing -Wall -W -g -I/usr/lib/qt3/mkspecs/default -I. -I/usr/include -o myfile.o myfile.c</p>
<p>Daran ist auch nichts unerlaubtes.</p>
<p>Gruß,<br />
M.Incani</p>
<p>simon.gysi schrieb:</p>
<blockquote>
<p>Bei mir gehts ohne Probleme.<br />
Compiler?</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1455055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1455055</guid><dc:creator><![CDATA[BlackPepper]]></dc:creator><pubDate>Wed, 13 Feb 2008 13:03:48 GMT</pubDate></item><item><title><![CDATA[Reply to Warum is folgende Anweisung nicht constant? on Wed, 13 Feb 2008 13:08:44 GMT]]></title><description><![CDATA[<p>Warum stellst Du diese Frage im C++-Forum, wenn Du ein C-Programm hast? <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>Diese Art von konstanten Initialisierern gibt es in C nicht. Anders gesagt ist BASE keine Compilezeit-Konstante und kann damit nicht zur statischen Initialisierung verwendet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1455060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1455060</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 13 Feb 2008 13:08:44 GMT</pubDate></item><item><title><![CDATA[Reply to Warum is folgende Anweisung nicht constant? on Wed, 13 Feb 2008 13:12:53 GMT]]></title><description><![CDATA[<p>bevor du jetzt fragst &quot;wieso C-Programm, das ist ein C++-Programm&quot;:<br />
gcc, aufgerufen mit einem Source file mit der Endung .c nimmt an, dass es sich um C handelt. Entwerder musst du explizit g++ aufrufen, oder (besser) deine Source-Files den Konventionen entsprechend in .C (grosses C), .cpp, .cxx oder aehnlich umbenennen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1455064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1455064</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 13 Feb 2008 13:12:53 GMT</pubDate></item><item><title><![CDATA[Reply to Warum is folgende Anweisung nicht constant? on Wed, 13 Feb 2008 13:39:52 GMT]]></title><description><![CDATA[<p>Das sind C-Files die aus einer Library stammen. Die müssen in C sowie auch C++ eingebunden werden. Bisher standen dort defines und die sollten in const umgewandelt werden. Bisher sah das so aus:</p>
<pre><code class="language-cpp">#define   BASE     (0x10000000)
#define   SPECIAL  (0x00000001 + BASE)
</code></pre>
<p>So wie es klingt weißt Du wie es richtig gehen müßte. Wäre nett, wenn Du mir hilfst.</p>
<p>Gruß,<br />
M. Incani</p>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>Warum stellst Du diese Frage im C++-Forum, wenn Du ein C-Programm hast? <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>Diese Art von konstanten Initialisierern gibt es in C nicht. Anders gesagt ist BASE keine Compilezeit-Konstante und kann damit nicht zur statischen Initialisierung verwendet werden.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1455088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1455088</guid><dc:creator><![CDATA[BlackPepper]]></dc:creator><pubDate>Wed, 13 Feb 2008 13:39:52 GMT</pubDate></item><item><title><![CDATA[Reply to Warum is folgende Anweisung nicht constant? on Wed, 13 Feb 2008 14:11:49 GMT]]></title><description><![CDATA[<p>In C geht das so nicht. Da wirst Du weiterhin auf defines zurückgreifen müssen. Es gibt da noch den Enum-Hack, der auch in C funktioniert, allerdings ist der Typ der einzelnen Werte dann nicht zwingend &quot;unsigned int&quot;.</p>
<pre><code class="language-cpp">enum Constants
{
    BASE = 0x10000000,
    SPECIAL = BASE + 1
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1455121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1455121</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 13 Feb 2008 14:11:49 GMT</pubDate></item><item><title><![CDATA[Reply to Warum is folgende Anweisung nicht constant? on Wed, 13 Feb 2008 14:38:05 GMT]]></title><description><![CDATA[<p>Ok, Danke!</p>
<p>Ohne unsigned kann ich auch leben.</p>
<p>Gruß,<br />
M.Incani</p>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>In C geht das so nicht. Da wirst Du weiterhin auf defines zurückgreifen müssen. Es gibt da noch den Enum-Hack, der auch in C funktioniert, allerdings ist der Typ der einzelnen Werte dann nicht zwingend &quot;unsigned int&quot;.</p>
<pre><code class="language-cpp">enum Constants
{
    BASE = 0x10000000,
    SPECIAL = BASE + 1
};
</code></pre>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1455139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1455139</guid><dc:creator><![CDATA[BlackPepper]]></dc:creator><pubDate>Wed, 13 Feb 2008 14:38:05 GMT</pubDate></item></channel></rss>