<?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[Const String Array mit { } definieren]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte ein konstantes Array erstellen, dass Musikgenres beinhaltet. Da ich es von anderen Datentypen gewohnt bin sie mit mit geschleiftem Klammern zu definieren, wollte ich hier die selbe Methode anwenden. Als ich das Ganze kompilte, meldete mir der Compiler mit folgende Code folgenden zwei Fehler:</p>
<pre><code class="language-cpp">const string Genres[] = {&quot;Rock&quot;, &quot;Blues&quot;}; //und so weiter
</code></pre>
<blockquote>
<p>error C2059: Syntaxfehler: '{'<br />
error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionstext wird übersprungen</p>
</blockquote>
<p>Ich verwende die Visual C++ 9.0 Express Edition.<br />
Kann man String-Arrays nicht so definieren oder liegt mein Fehler woanders?</p>
<p>Auf jeden Fall schon mal vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/212456/const-string-array-mit-definieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 20:28:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/212456.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 May 2008 16:17:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Const String Array mit { } definieren on Tue, 06 May 2008 16:17:25 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte ein konstantes Array erstellen, dass Musikgenres beinhaltet. Da ich es von anderen Datentypen gewohnt bin sie mit mit geschleiftem Klammern zu definieren, wollte ich hier die selbe Methode anwenden. Als ich das Ganze kompilte, meldete mir der Compiler mit folgende Code folgenden zwei Fehler:</p>
<pre><code class="language-cpp">const string Genres[] = {&quot;Rock&quot;, &quot;Blues&quot;}; //und so weiter
</code></pre>
<blockquote>
<p>error C2059: Syntaxfehler: '{'<br />
error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionstext wird übersprungen</p>
</blockquote>
<p>Ich verwende die Visual C++ 9.0 Express Edition.<br />
Kann man String-Arrays nicht so definieren oder liegt mein Fehler woanders?</p>
<p>Auf jeden Fall schon mal vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1504331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1504331</guid><dc:creator><![CDATA[TiBo]]></dc:creator><pubDate>Tue, 06 May 2008 16:17:25 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Tue, 06 May 2008 16:27:51 GMT]]></title><description><![CDATA[<blockquote>
<p>Kann man String-Arrays nicht so definieren oder liegt mein Fehler woanders?</p>
</blockquote>
<p>Der Fehler liegt woanders. Mangels Quelltext ist schwer zu sagen wo.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1504340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1504340</guid><dc:creator><![CDATA[@Time]]></dc:creator><pubDate>Tue, 06 May 2008 16:27:51 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Tue, 06 May 2008 17:45:35 GMT]]></title><description><![CDATA[<p>OK, dann poste ich mal die komplette Klasse:</p>
<pre><code class="language-cpp">#include &lt;string.h&gt;

class CPropertyGenre
{
private:
	//Variablen
	string genreProperty;
public:
	//ID3v1-Genres
	const string Genres[] = {&quot;Rock&quot;, &quot;Blues&quot;}; //und so weiter
	//Funktionen
	void Set(string genre);
	void Set(int genre);
	void Get(string* genre);
	void Get(int* genre);
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1504390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1504390</guid><dc:creator><![CDATA[TiBo]]></dc:creator><pubDate>Tue, 06 May 2008 17:45:35 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Tue, 06 May 2008 19:33:21 GMT]]></title><description><![CDATA[<p>Time schrieb:</p>
<blockquote>
<p>...</p>
<pre><code class="language-cpp">...
class CPropertyGenre
{
...
	const string Genres[] = {&quot;Rock&quot;, &quot;Blues&quot;}; //und so weiter
...
</code></pre>
</blockquote>
<p>Das geht nicht.<br />
Du kannst überhaupt kein adressierbares nonstatic-Member bereits in der Klassendefinition initialisieren - egal, welchen Typs es ist.<br />
Das geht zur &quot;Lauf-&quot; oder zur &quot;Ladezeit&quot; (z.B. im Konstruktor oder als static member).<br />
Und da bereits zur Compilezeit die Größe der Klasse bekannt sein muss (und ein Array in diese Größe mit eingeht), kannst Du Dir hier die Dimension auch nicht offen halten (&quot;[]&quot;) ....<br />
Hier würde ich zu einem vector raten...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1504479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1504479</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 06 May 2008 19:33:21 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Wed, 07 May 2008 14:06:11 GMT]]></title><description><![CDATA[<p>OK, vielen Dank für die Hilfe! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1504916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1504916</guid><dc:creator><![CDATA[TiBo]]></dc:creator><pubDate>Wed, 07 May 2008 14:06:11 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Wed, 07 May 2008 14:45:28 GMT]]></title><description><![CDATA[<p>Gut ich bin auch Neuling, aber wenn du die Genres gleich &quot;mitlieferst&quot; dann kannst du doch auch die Größe gleich mit eintragen, das müsste das Problem umgehen, oder?</p>
<pre><code class="language-cpp">...
class CPropertyGenre
{
...
    const string Genres[2] = {&quot;Rock&quot;, &quot;Blues&quot;}; //und so weiter
...
}
</code></pre>
<p>Andernfalls wäre die Lösund mit new[] zu arbeiten???? aber Achtung, das ist keine antwort sondern eine Frage^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1504953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1504953</guid><dc:creator><![CDATA[Horroreyes]]></dc:creator><pubDate>Wed, 07 May 2008 14:45:28 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Wed, 07 May 2008 14:55:51 GMT]]></title><description><![CDATA[<p>Die Initialisierung ist dort trotzdem nicht erlaubt...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1504961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1504961</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 07 May 2008 14:55:51 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Wed, 07 May 2008 15:03:49 GMT]]></title><description><![CDATA[<p>Innerhalb der Klassendefinition kann man nur <strong>konstante static</strong> Variablen von <strong>ganzzahligem</strong> Typ initialisieren. Sonst nichts.</p>
<pre><code class="language-cpp">class CPropertyGenre
{
    static const int sci = 0; // FUNKTIONIERT !!!
    const int ci = 0; //Fehler
    int i=; //Fehler
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1504970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1504970</guid><dc:creator><![CDATA[@Horroreyes]]></dc:creator><pubDate>Wed, 07 May 2008 15:03:49 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Wed, 07 May 2008 15:23:36 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/17987">@Horroreyes</a> schrieb:</p>
<blockquote>
<p>Sonst nichts.</p>
</blockquote>
<p>Aufzählungsvariablen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1504987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1504987</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 07 May 2008 15:23:36 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Wed, 07 May 2008 16:07:22 GMT]]></title><description><![CDATA[<blockquote>
<p>Aufzählungsvariablen</p>
</blockquote>
<p>Na klar, die guten alten enums darf man nicht vergessen</p>
<pre><code class="language-cpp">class CPropertyGenre
{
    enum bla { bla1 = 4, bla2, bla3};
    static const short sci = bla2; // FUNKTIONIERT !!!
    static const bla foo = bla3; // FUNKTIONIERT !!!

};
</code></pre>
<p>Fliegenbeinzähler! <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><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505017</guid><dc:creator><![CDATA[@Horroreyes]]></dc:creator><pubDate>Wed, 07 May 2008 16:07:22 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Thu, 08 May 2008 08:06:40 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/17987">@Horroreyes</a> schrieb:</p>
<blockquote>
<p>Innerhalb der Klassendefinition kann man nur <strong>konstante static</strong> Variablen von <strong>ganzzahligem</strong> Typ initialisieren. Sonst nichts.</p>
<pre><code class="language-cpp">class CPropertyGenre
{
    static const int sci = 0; // FUNKTIONIERT !!!
    const int ci = 0; //Fehler
    int i=; //Fehler
};
</code></pre>
</blockquote>
<p>Hmmmm ... ich meine hier mal gelesen zu haben, dass sie nicht &quot;adressierbar&quot; sind...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505293</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 08 May 2008 08:06:40 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Thu, 08 May 2008 08:09:53 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Hmmmm ... ich meine hier mal gelesen zu haben, dass sie nicht &quot;adressierbar&quot; sind...</p>
</blockquote>
<p>Sind sie grundsätzlich schon. Damit die Variablen aber überhaupt eine Adresse haben (sonst knallts beim Linken), müssen sie zusätzlich zu der Inline-Initialisierung noch wie normale statische Variablen ausserhalb definiert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505306</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 08 May 2008 08:09:53 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Thu, 08 May 2008 08:45:53 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Simon2 schrieb:</p>
<blockquote>
<p>Hmmmm ... ich meine hier mal gelesen zu haben, dass sie nicht &quot;adressierbar&quot; sind...</p>
</blockquote>
<p>Sind sie grundsätzlich schon. Damit die Variablen aber überhaupt eine Adresse haben (sonst knallts beim Linken), müssen sie zusätzlich zu der Inline-Initialisierung noch wie normale statische Variablen ausserhalb definiert werden.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> Ach ja - das war's.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505344</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 08 May 2008 08:45:53 GMT</pubDate></item><item><title><![CDATA[Reply to Const String Array mit { } definieren on Thu, 08 May 2008 14:51:09 GMT]]></title><description><![CDATA[<blockquote>
<p>Hmmmm ... ich meine hier mal gelesen zu haben, dass sie nicht &quot;adressierbar&quot; sind...</p>
</blockquote>
<p>Sind sie auch nicht, weil es sich ja nur um Deklarationen handelt. Wie gesagt Typen wie bool, short, int, enums, char, ..., die auch nocht static const sind bilden hierbei die einzige Ausnahme. Man kann sie ohne eigentliche Definition verwenden.</p>
<p>Wenn man sie adressieren will, braucht man aber, wie LordJaxom schon sagte, die Defintion. Aber OHNE Initialisierung.</p>
<p>Für sci aus</p>
<pre><code class="language-cpp">class CPropertyGenre
{
    static const int sci = 0; // FUNKTIONIERT !!!
    const int ci = 0; //Fehler
    int i=; //Fehler
};
</code></pre>
<p>würde z.B.</p>
<pre><code class="language-cpp">const int CPropertyGenre::sci;
</code></pre>
<p>reichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505506</guid><dc:creator><![CDATA[@Horroreyes]]></dc:creator><pubDate>Thu, 08 May 2008 14:51:09 GMT</pubDate></item></channel></rss>