<?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[NULL + Arrays + Zugriff + Freien Platz Finden]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich glaub mich hat die Java Seuche gepackt und bin deswegen nicht in der Lage umzudenken.</p>
<p>Ich will mit ca. folgendem Code den Platz in einem Array finden der noch nich initialisiert wurde.</p>
<pre><code class="language-cpp">//deklaration: std::string Tech[SUPPORTED_TECH_AMOUNT];
if(info.find(&quot;Tech=&quot;) != std::string::npos)
    for(int tech=0; tech&lt;SUPPORTED_TECH_AMOUNT;tech++)
    if(Tech[tech] == NULL){
        Tech[tech] = s.substr(s.find(&quot;=&quot;)+1, 1024);
            break;
    }
</code></pre>
<p>später möchte ich dann wieder auf die Klassenvariablen zugreifen. Das mache ich so.</p>
<pre><code class="language-cpp">for(int tech=0;tech&lt;SUPPORTED_TECH_AMOUNT;tech++)
    if(Tech[tech] != NULL)
        list-&gt;Add(&quot;\tTech=&quot;+AnsiString(Tech[tech].c_str()));
</code></pre>
<p>nur leider krieg ich so immer Zugriffsverletzungen.</p>
<p>Wie würde den sowas richtigerweise aussehen?</p>
<p>P.S:</p>
<p>Strings könnte ich natürlich mit &quot;&quot; Initalisieren und somit abprüfen aber bei großen arrays ist das imo unnötig aufwendig und zusätzlich ich will dieselbe Prozedur auch auf Integers anwenden und da gibt es keinen geeigneten Init-Wert.</p>
<p>Herzlichsten Dank</p>
<p>P.P.S:</p>
<p>Habs igendwie versucht so zu lösen aber das scheint leider auch nicht zu klappen.</p>
<pre><code class="language-cpp">//deklaration: std::string Tech[SUPPORTED_TECH_AMOUNT];
if(info.find(&quot;Tech=&quot;) != std::string::npos)
    for(int tech=0; tech&lt;SUPPORTED_TECH_AMOUNT;tech++)
    if(&amp;Tech[tech]){
        Tech[tech] = s.substr(s.find(&quot;=&quot;)+1, 1024);
            break;
    }
</code></pre>
<pre><code class="language-cpp">for(int tech=0;tech&lt;SUPPORTED_TECH_AMOUNT;tech++)
    if(&amp;Tech[tech])
        list-&gt;Add(&quot;\tTech=&quot;+AnsiString(Tech[tech].c_str()));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/178123/null-arrays-zugriff-freien-platz-finden</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 08:20:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178123.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 07 Apr 2007 18:57:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to NULL + Arrays + Zugriff + Freien Platz Finden on Sat, 07 Apr 2007 19:10:21 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich glaub mich hat die Java Seuche gepackt und bin deswegen nicht in der Lage umzudenken.</p>
<p>Ich will mit ca. folgendem Code den Platz in einem Array finden der noch nich initialisiert wurde.</p>
<pre><code class="language-cpp">//deklaration: std::string Tech[SUPPORTED_TECH_AMOUNT];
if(info.find(&quot;Tech=&quot;) != std::string::npos)
    for(int tech=0; tech&lt;SUPPORTED_TECH_AMOUNT;tech++)
    if(Tech[tech] == NULL){
        Tech[tech] = s.substr(s.find(&quot;=&quot;)+1, 1024);
            break;
    }
</code></pre>
<p>später möchte ich dann wieder auf die Klassenvariablen zugreifen. Das mache ich so.</p>
<pre><code class="language-cpp">for(int tech=0;tech&lt;SUPPORTED_TECH_AMOUNT;tech++)
    if(Tech[tech] != NULL)
        list-&gt;Add(&quot;\tTech=&quot;+AnsiString(Tech[tech].c_str()));
</code></pre>
<p>nur leider krieg ich so immer Zugriffsverletzungen.</p>
<p>Wie würde den sowas richtigerweise aussehen?</p>
<p>P.S:</p>
<p>Strings könnte ich natürlich mit &quot;&quot; Initalisieren und somit abprüfen aber bei großen arrays ist das imo unnötig aufwendig und zusätzlich ich will dieselbe Prozedur auch auf Integers anwenden und da gibt es keinen geeigneten Init-Wert.</p>
<p>Herzlichsten Dank</p>
<p>P.P.S:</p>
<p>Habs igendwie versucht so zu lösen aber das scheint leider auch nicht zu klappen.</p>
<pre><code class="language-cpp">//deklaration: std::string Tech[SUPPORTED_TECH_AMOUNT];
if(info.find(&quot;Tech=&quot;) != std::string::npos)
    for(int tech=0; tech&lt;SUPPORTED_TECH_AMOUNT;tech++)
    if(&amp;Tech[tech]){
        Tech[tech] = s.substr(s.find(&quot;=&quot;)+1, 1024);
            break;
    }
</code></pre>
<pre><code class="language-cpp">for(int tech=0;tech&lt;SUPPORTED_TECH_AMOUNT;tech++)
    if(&amp;Tech[tech])
        list-&gt;Add(&quot;\tTech=&quot;+AnsiString(Tech[tech].c_str()));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1261327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1261327</guid><dc:creator><![CDATA[GreyHound]]></dc:creator><pubDate>Sat, 07 Apr 2007 19:10:21 GMT</pubDate></item><item><title><![CDATA[Reply to NULL + Arrays + Zugriff + Freien Platz Finden on Sun, 08 Apr 2007 08:59:39 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich lese etwas von Zugriffsverletzungen. Auf Anhieb kann ich in Deinem Code keine finden (bin vielleicht zu blind <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>
<p>Wo (in welcher Zeile des zitierten Codes) findet die ZV statt?<br />
Meckert der Compiler, oder findet die ZV zur Laufzeit statt?</p>
<p>Viele Grüße,<br />
Christian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1261519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1261519</guid><dc:creator><![CDATA[Christian Sonder]]></dc:creator><pubDate>Sun, 08 Apr 2007 08:59:39 GMT</pubDate></item></channel></rss>