<?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[array und funktionen]]></title><description><![CDATA[<p>hallo,<br />
hab folgendes problem</p>
<p>ich will eine funktion erstellen, die bei aufruf ein array, dass ich unter main() definiert habe und strings enthält, verändert (auf die veränderung kommts hier nicht an).</p>
<p>nun weis ich nicht, wie ich das richtig schreiben muss. so habs ich mir gedacht:</p>
<pre><code class="language-cpp">void funktion(string *array[]){
//code zur bearbeitung des arrays
}

main() {

string array[]={1,2,3};

funktion(*array);
</code></pre>
<p>Egal was ich an den &quot;*&quot; drehe, ich erhalte immer</p>
<p>Fehler 1 error C2664: 'funktion': Konvertierung des Parameters 1 von 'std::string' in 'std::string *[]' nicht möglich</p>
<p>wie muss das richtig heißen?</p>
<p>danke!!!</p>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235108/array-und-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 06:36:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235108.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 Feb 2009 18:39:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to array und funktionen on Wed, 25 Feb 2009 18:39:33 GMT]]></title><description><![CDATA[<p>hallo,<br />
hab folgendes problem</p>
<p>ich will eine funktion erstellen, die bei aufruf ein array, dass ich unter main() definiert habe und strings enthält, verändert (auf die veränderung kommts hier nicht an).</p>
<p>nun weis ich nicht, wie ich das richtig schreiben muss. so habs ich mir gedacht:</p>
<pre><code class="language-cpp">void funktion(string *array[]){
//code zur bearbeitung des arrays
}

main() {

string array[]={1,2,3};

funktion(*array);
</code></pre>
<p>Egal was ich an den &quot;*&quot; drehe, ich erhalte immer</p>
<p>Fehler 1 error C2664: 'funktion': Konvertierung des Parameters 1 von 'std::string' in 'std::string *[]' nicht möglich</p>
<p>wie muss das richtig heißen?</p>
<p>danke!!!</p>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670259</guid><dc:creator><![CDATA[thomas31415]]></dc:creator><pubDate>Wed, 25 Feb 2009 18:39:33 GMT</pubDate></item><item><title><![CDATA[Reply to array und funktionen on Wed, 25 Feb 2009 18:47:45 GMT]]></title><description><![CDATA[<p>Du solltest unbedingt ein Buch zur Hand nehmen, dein Quellcode hat fast in jeder Zeile einen Fehler.</p>
<p>Wenn du ein Array von <code>std::string</code> willst, musst du es mit Strings initialisieren. Zum Beispiel über Zeichenkettenliterale ( <code>const char*</code> ):</p>
<pre><code class="language-cpp">std::string Array[] = {&quot;Hallo&quot;, &quot; Welt&quot;};
</code></pre>
<p>Die Funktion nimmt dann einen Zeiger auf <code>std::string</code> :</p>
<pre><code class="language-cpp">void Function(std::string* Array)
{
    std::cout &lt;&lt; Array[0] &lt;&lt; std::endl;
}
</code></pre>
<p>Aber grundsätzlich ist die Variante nicht schön. Nimm statt Arrays und Zeiger besser STL-Container oder den Array-Wrapper <code>std::tr1::array</code> , die kannst du per Const-Referenz übergeben und die Grösseninformation ist auch grad dabei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670262</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 25 Feb 2009 18:47:45 GMT</pubDate></item><item><title><![CDATA[Reply to array und funktionen on Wed, 25 Feb 2009 18:49:27 GMT]]></title><description><![CDATA[<p>Meine Antwort wuerde dir nicht helfen, da ich an deinem Quelltext sehe, dass du sie sowieso nicht verstehst. Nicht boese gemeint, aber lies doch mal das hier (alles): <a href="http://www.onlinetutorials.de/cpp-index.htm" rel="nofollow">http://www.onlinetutorials.de/cpp-index.htm</a> , gleich das erste - ist aber nur als Download verfuegbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670264</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 25 Feb 2009 18:49:27 GMT</pubDate></item><item><title><![CDATA[Reply to array und funktionen on Wed, 25 Feb 2009 18:52:17 GMT]]></title><description><![CDATA[<p>Also erstmal würde ich zu Grundlagen raten!<br />
Du scheinst einfach mal so drauf los zu schreiben und das kommt nie gut. (Zumindest nicht in C++)</p>
<pre><code class="language-cpp">void funktion(string *array , int size){
//code zur bearbeitung des arrays
}

main() {

string arr[]={&quot;1&quot;,&quot;2&quot;,&quot;3&quot;};

funktion(arr , sizeof(arr)/sizeof(arr[0]) ); 
}
</code></pre>
<p>Ich würde aber eher zu einem vector raten, oder einen ähnlichen Container.</p>
<pre><code class="language-cpp">void funktion( const std::vector&lt;std::string&gt; &amp; v ){
//code zur bearbeitung des arrays
}

main() {

std::vector&lt;std::string&gt; v;
v.push_back ( &quot;1&quot; );
v.push_back ( &quot;2&quot; );
v.push_back ( &quot;3&quot; );

funktion( v ); 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1670265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670265</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 25 Feb 2009 18:52:17 GMT</pubDate></item><item><title><![CDATA[Reply to array und funktionen on Wed, 25 Feb 2009 18:52:44 GMT]]></title><description><![CDATA[<p>Am einfachsten würde das über Vektoren gehen</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;

void funktion(vector&lt;string&gt;&amp; test)
{
    //zugriff auf Vektor mit Iteratoren
    for(vector&lt;string&gt;::iterator it=test.begin();it!=test.end();++it)
        *it=&quot;a&quot;; //alle werte des vektor auf &quot;a&quot; setzen

    //zugriff auf Vektor mit dem Indexoperator
    for(unsigned int i=0;i!=test.size();++i)
        test[i]=&quot;b&quot;; //alle werte des vektor auf &quot;b&quot; setzen

}

int main()
{
    vector&lt;string&gt; DeinArray;  //vektor mit string elementen erstellen

    DeinArray.push_back(&quot;1&quot;);  // strings zum
    DeinArray.push_back(&quot;2&quot;);  // Vektor
    DeinArray.push_back(&quot;3&quot;);  // hinzufügen

    funktion(DeinArray);

    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1670267</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670267</guid><dc:creator><![CDATA[vektor]]></dc:creator><pubDate>Wed, 25 Feb 2009 18:52:44 GMT</pubDate></item><item><title><![CDATA[Reply to array und funktionen on Wed, 25 Feb 2009 19:06:04 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18422">@drakon</a><br />
Ein kleiner Fehler hat sich in deinem Code reingeschlichen (siehe Funktions-Parameter) :p</p>
<p>Benutzung von Zeigern und C-Arrays ohne zu wissen wie sie funktionieren, kann gefaehrlich sein.<br />
Vergiss Zeiger und C-Arrays (voerst)!<br />
Benutz fuer so was Referenzen und <code>std::vector</code> (siehe meine Vorredner).</p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670280</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Wed, 25 Feb 2009 19:06:04 GMT</pubDate></item><item><title><![CDATA[Reply to array und funktionen on Wed, 25 Feb 2009 19:17:19 GMT]]></title><description><![CDATA[<p>Eric Cartman schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18422">@drakon</a><br />
Ein kleiner Fehler hat sich in deinem Code reingeschlichen (siehe Funktions-Parameter) :p</p>
</blockquote>
<p>Ich sehe da keinen Fehler. Wenn du das const meinst. Naja, ich weiss ja nicht, was er mit &quot;bearbeiten&quot; meint. Und im Zweifelsfall lasse ich es lieber const. Da man, wenn man etwas anderes braucht automatisch drauf stösst und es ist schnell geändert. Der umgekehrte Weg ist ein wenig kritischer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670293</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 25 Feb 2009 19:17:19 GMT</pubDate></item><item><title><![CDATA[Reply to array und funktionen on Wed, 25 Feb 2009 19:32:27 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Eric Cartman schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18422">@drakon</a><br />
Ein kleiner Fehler hat sich in deinem Code reingeschlichen (siehe Funktions-Parameter) :p</p>
</blockquote>
<p>Ich sehe da keinen Fehler. Wenn du das const meinst. Naja, ich weiss ja nicht, was er mit &quot;bearbeiten&quot; meint. Und im Zweifelsfall lasse ich es lieber const. Da man, wenn man etwas anderes braucht automatisch drauf stösst und es ist schnell geändert. Der umgekehrte Weg ist ein wenig kritischer.</p>
</blockquote>
<p>Threadersteller schrieb:</p>
<blockquote>
<p>ich will eine funktion erstellen, die bei aufruf ein array, dass ich unter main() definiert habe und strings enthält, verändert (auf die veränderung kommts hier nicht an).</p>
</blockquote>
<p>Auch wenn der Satzbau falsch ist, glaube ich, dass er die strings im Array in der Funktion veraendern will. Daher der Fehlerhinweis von mir. <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>Aber was anderes: Was meinst du mit &quot;wenn man etwas anderes braucht automatisch drauf stoesst&quot;. Versteh ich nicht so ganz</p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670310</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Wed, 25 Feb 2009 19:32:27 GMT</pubDate></item><item><title><![CDATA[Reply to array und funktionen on Wed, 25 Feb 2009 20:07:57 GMT]]></title><description><![CDATA[<p>Eric Cartman schrieb:</p>
<blockquote>
<p>Aber was anderes: Was meinst du mit &quot;wenn man etwas anderes braucht automatisch drauf stoesst&quot;. Versteh ich nicht so ganz</p>
</blockquote>
<p>Naja. Wenn du etwas konstantes übergibst und die Funktion erstmal nichts verändert passt das so. Wenn du aber im Nachhinein merkst, dass du dennoch etwas in der Funktion bearbeiten willst und du das auch machst, kriegst du erstmal etwas vom Compiler an den Kopf geschmissen. Dann fängst du nochmal an zu überlegen, ob das eine so gute Idee ist, und ob es wirklich nötig ist dort drin etwas zu verändern. Wenn du allerdings von Anfang an das nicht const übgibst, weil du vielleicht etwas dran ändern musst, und du das schlussendlich nicht musst, ist das für den Benutzer der Funktion verwirrend. (Warum ist das nicht const, wenn die Funktion nichts dran ändert?!) - Und vielleicht wird irgendwann etwas an der Funktion geändert und der Benutzer hat sich vielleicht schon drauf verlassen, dass die Funktion nichts ändert. Und dann hast du ein Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670337</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 25 Feb 2009 20:07:57 GMT</pubDate></item><item><title><![CDATA[Reply to array und funktionen on Wed, 25 Feb 2009 20:23:29 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18422">@drakon</a><br />
Verstehe <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="🙂"
    /> Mach ich eigentlich auch immer so; zur Sicherheit (falls ich nicht vorher schon weiss, dass ein Objekt definitiv veraendert werden muss).</p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670346</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Wed, 25 Feb 2009 20:23:29 GMT</pubDate></item></channel></rss>