<?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[Problem bei Funktion mit Zeigern]]></title><description><![CDATA[<p>Hallo an alle.<br />
Ich bin neu hier und habe gleich mal eine Frage.<br />
Ich bin nicht so der Crack wenn es um Zeiger und Referenzen geht darum mein Problem:<br />
Ich versuche aus einer Funktion eine andere Funktion aufzurufen, die die Reihenfolge eines Arrays umkehren soll. Das ganze soll mit Zeigern realisiert werden. Falls jemand eine andere Idee hat, ist diese selbstverständlich erwünscht. Mein Problem tritt in der Funktion &quot;inArray()&quot; auf, an der Stelle, wo die Funktion &quot;swapArray()&quot; aufgerufen wird. Fehlermeldung Dev-C++:<br />
44 cannot convert `int*' to `int**' for argument `1' to `int swapArray(int**, int*)'<br />
Hier mal mein Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int swapArray(int *array[], int *index)
{
    int d=*index;
    int swapper[d], e=0;

    do
    {
        swapper[e] &lt;&lt; *array[d];

        e++;
        d--;
    }
    while (d &gt;= 0);  

    return swapper[e];

}   

int inArray (int *ar, int *zahl)
{
    int b=0, c=0, i=0;

    do
    {
          b = *zahl / 10;

          b *= 10;

          ar[c] = *zahl-b; 

          *zahl /= 10;

          c++;
    }     
    while (*zahl != 0);

    *zahl = c;

    swapArray (ar, &amp;c);

    return ar[i], *zahl;
}

int main ()
{

    return 0;
}
</code></pre>
<p>Mit freundlichen Grüßen</p>
<p>Mr Crown</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/230153/problem-bei-funktion-mit-zeigern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 10:14:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/230153.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 21 Dec 2008 17:34:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei Funktion mit Zeigern on Sun, 21 Dec 2008 17:34:03 GMT]]></title><description><![CDATA[<p>Hallo an alle.<br />
Ich bin neu hier und habe gleich mal eine Frage.<br />
Ich bin nicht so der Crack wenn es um Zeiger und Referenzen geht darum mein Problem:<br />
Ich versuche aus einer Funktion eine andere Funktion aufzurufen, die die Reihenfolge eines Arrays umkehren soll. Das ganze soll mit Zeigern realisiert werden. Falls jemand eine andere Idee hat, ist diese selbstverständlich erwünscht. Mein Problem tritt in der Funktion &quot;inArray()&quot; auf, an der Stelle, wo die Funktion &quot;swapArray()&quot; aufgerufen wird. Fehlermeldung Dev-C++:<br />
44 cannot convert `int*' to `int**' for argument `1' to `int swapArray(int**, int*)'<br />
Hier mal mein Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int swapArray(int *array[], int *index)
{
    int d=*index;
    int swapper[d], e=0;

    do
    {
        swapper[e] &lt;&lt; *array[d];

        e++;
        d--;
    }
    while (d &gt;= 0);  

    return swapper[e];

}   

int inArray (int *ar, int *zahl)
{
    int b=0, c=0, i=0;

    do
    {
          b = *zahl / 10;

          b *= 10;

          ar[c] = *zahl-b; 

          *zahl /= 10;

          c++;
    }     
    while (*zahl != 0);

    *zahl = c;

    swapArray (ar, &amp;c);

    return ar[i], *zahl;
}

int main ()
{

    return 0;
}
</code></pre>
<p>Mit freundlichen Grüßen</p>
<p>Mr Crown</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633690</guid><dc:creator><![CDATA[Mr Crown]]></dc:creator><pubDate>Sun, 21 Dec 2008 17:34:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Funktion mit Zeigern on Sun, 21 Dec 2008 18:21:41 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int swapArray(int *array[], int *index)
</code></pre>
<p>Erwartet als erstes Argument einen Zeiger auf ein Array von Zeigern auf int.</p>
<pre><code class="language-cpp">int swapArray(int *array, int *index)
</code></pre>
<p>Wäre wahrscheinlich das, was sich Compiler lässt. Allerdings ist dein Code so verworren und voller Fehler, dass ich mich wundere, dass es keine anderen Fehler gegeben hat. Alleine schon, dass du ein Array mit einem nicht-statischen Wert erzeugen willst ist schon einmal völliger Blödsinn.</p>
<p>Und btw:<br />
Lad dir doch MSVC++, oder Code::Blocks, die sind aktueller, als DevC++.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633708</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 21 Dec 2008 18:21:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Funktion mit Zeigern on Sun, 21 Dec 2008 18:30:19 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>nunja, abgesehen davon, dass das viel unnötige Fingerbrecherei ist - die Fehlermeldung ist doch eindeutig:</p>
<blockquote>
<p>...cannot convert `int*' to `int**' for argument `1' to `int swapArray(int**, int*)' ...</p>
</blockquote>
<p>Hier nochmal Dein relevanter Code:</p>
<pre><code class="language-cpp">...
int swapArray(int *array[], int *index) // Deklaration von swapArray: 1. Parameter braucht ein int*[] bzw. int**
...
...(int *ar, ...) // ar ist also ein int*
...
    swapArray (ar, &amp;c); // hier übergibst Du ar als ersten Parameter an swapArray()
...
</code></pre>
<p>Oder &quot;fachlich&quot; ausgedrückt: Wo swapArray ein Array per Zeiger erwartet, übergibst Du ihm einen Zeiger auf ein int (vermutlich willst Du da ein int-Array reinpacken).<br />
Bei Folgendem siehst Du's wahrscheinlich:</p>
<pre><code class="language-cpp">void f(TYP* x);

...
TYP x;
f(x);
</code></pre>
<p><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>Wenn es nicht gerade Übungszwecken dient und/oder <em>wirklich</em> unvermeidlich ist: Nimm std::vector und Du bist nicht nur Dein konkretes Problem los, sondern auch allen folgenden derselben Klasse und kannst Dich gleich dem eigentlichen Programmieren zuwenden....</p>
<p>übrigens: std::swap() gibt's auch schon für std::vector..</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633712</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sun, 21 Dec 2008 18:30:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Funktion mit Zeigern on Sun, 21 Dec 2008 19:14:36 GMT]]></title><description><![CDATA[<p>Danke für die schnellen Antworten. Ich glaube ich habe vor lauter Zeigern irgendwo Mist gebaut und mich immer weiter hinein gesteigert <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="😃"
    /><br />
Naja, ich denke ich versuche das mal mit einem &quot;vector&quot;. Nur habe ich mich damit noch nicht befasst und denke das könnte etwas dauern. Vielleicht könnt ihr mir ja ein paar Tips geben, wie sich mein Problem (Zahl in Array umwandeln, inklusive umdrehen des Arrays damit die Zeichenkette richtig herum ist) mit vector lösen lässt.<br />
Vielen Dank erstmal.<br />
Mit freundlichen Grüßen</p>
<p>Mr Crown</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633745</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633745</guid><dc:creator><![CDATA[Mr Crown]]></dc:creator><pubDate>Sun, 21 Dec 2008 19:14:36 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Funktion mit Zeigern on Sun, 21 Dec 2008 19:21:41 GMT]]></title><description><![CDATA[<p>Mr Crown schrieb:</p>
<blockquote>
<p>Danke für die schnellen Antworten. Ich glaube ich habe vor lauter Zeigern irgendwo Mist gebaut und mich immer weiter hinein gesteigert <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="😃"
    /><br />
Naja, ich denke ich versuche das mal mit einem &quot;vector&quot;. Nur habe ich mich damit noch nicht befasst und denke das könnte etwas dauern. Vielleicht könnt ihr mir ja ein paar Tips geben, wie sich mein Problem (Zahl in Array umwandeln, inklusive umdrehen des Arrays damit die Zeichenkette richtig herum ist) mit vector lösen lässt.<br />
Vielen Dank erstmal.<br />
Mit freundlichen Grüßen</p>
<p>Mr Crown</p>
</blockquote>
<p>Du tust wahrscheinlich gut daran, wenn du dich zuerst einmal mit den Standard Container beschäftigst und erst ein wenig später dich mit Zeiger und Arrays rumschlägst.</p>
<p>Diese Seite hier ist Gold Wert:<br />
<a href="http://www.cplusplus.com/reference/stl/" rel="nofollow">http://www.cplusplus.com/reference/stl/</a></p>
<p>Da findest du eigentlich alles über Container, Beispiele dazu, Algortihmen und vieles mehr.</p>
<p>Dein Problem lässt sich auf viele Arten lösen. Eine davon wäre, dass du die Zahl zuerst einmal in einen string umwandelst (mittels std::stringstream) und dann kannst du einen vector damit relativ einfach initialisieren.</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;sstream&gt;
...
int zahl = 25;
std::stringstream s;
std::string str;
s &lt;&lt; zahl;
s &gt;&gt; str;
std::vector&lt;char&gt; v ( str.begin (),str.end() );
</code></pre>
<p>Ob das die Reihenfolge ist, die du brauchst, kann ich nicht sagen, aber das war schon zu viel Code. <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/1633752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633752</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 21 Dec 2008 19:21:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Funktion mit Zeigern on Sun, 21 Dec 2008 19:37:56 GMT]]></title><description><![CDATA[<p>Ja Danke. Die Seite ist Gold wert.<br />
Ich wollte das Problem eigentlich ohne Umwandlung in Stings lösen und sonstige Funktionen. Das mit dem swappen hat sich jetzt auch erledigt, da &lt;vector&gt; das ja mitbringt.<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633762</guid><dc:creator><![CDATA[Mr Crown]]></dc:creator><pubDate>Sun, 21 Dec 2008 19:37:56 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Funktion mit Zeigern on Sun, 21 Dec 2008 20:07:24 GMT]]></title><description><![CDATA[<p>So, habe mich etwas mit &lt;vector&gt; bescchäftigt. Bin jetzt soweit, dass alles klappt, bis auf ein kleines Problem, mit dem ich garnicht gerechnet hätte.</p>
<pre><code class="language-cpp">*zahl /= 10;
</code></pre>
<p>Hier sagt er: 19 void value not ignored as it ought to be</p>
<p>Die gesamte Funktion sieht so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;
#include &lt;vector&gt;

using namespace std;

int inArray (vector&lt;int&gt; *vec, int *zahl)
{
    int b=0, c=0, i=0;

    do
    {
          b = *zahl / 10;

          b *= 10;

          (*vec).push_back(  *zahl-b )

          *zahl /= 10;   // Hier ist die Fehlermeldung

          c++;
    }     
    while (*zahl != 0);

    *zahl = c;

    return *vec, *zahl;
}
</code></pre>
<p>2. Wie kann ich jetzt die Reihenfolge der Elemente in dem vector umdrehen ?</p>
<p>Wäre super, wenn sich noch mal jemand etwas Zeit nehmen könnte. Danke.</p>
<p>Gruß Mr Crown</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633776</guid><dc:creator><![CDATA[Mr Crown]]></dc:creator><pubDate>Sun, 21 Dec 2008 20:07:24 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Funktion mit Zeigern on Sun, 21 Dec 2008 20:13:39 GMT]]></title><description><![CDATA[<p>sieh dir mal den STL-Algorithmus 'revers' an. der dreht die Reihenfolge der Elemente eines STL-Containers um.</p>
<p>Tschüß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633779</guid><dc:creator><![CDATA[Mario_69_]]></dc:creator><pubDate>Sun, 21 Dec 2008 20:13:39 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Funktion mit Zeigern on Sun, 21 Dec 2008 20:15:04 GMT]]></title><description><![CDATA[<p>sorry, der Algorithmus heißt natürlich 'reverse'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633782</guid><dc:creator><![CDATA[Mario_69_]]></dc:creator><pubDate>Sun, 21 Dec 2008 20:15:04 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Funktion mit Zeigern on Sun, 21 Dec 2008 20:20:04 GMT]]></title><description><![CDATA[<p>Hmmm, mir ist nicht ganz klar, was DU überhaupt machen willst .. und dem Compiler anscheinend auch <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>Mr Crown schrieb:</p>
<blockquote>
<p>...</p>
<pre><code class="language-cpp">*zahl /= 10;
</code></pre>
<p>...</p>
</blockquote>
<p>die Variable &quot;zahl&quot; ist ein Zeiger auf einen Vektor, der int's verwaltet.<br />
Was soll denn passieren, wenn Du den Vektor &quot;durch 10 teilst&quot; ?<br />
Ich vermute, dass Du noch zu sehr in &quot;C-Array-Spezialitäten&quot; denkst, bei denen man manchmal den Container (=Array) nehmen kann, wenn man eigentlich ein Element (üblicherweise das erste) meinte und anders herum.<br />
Bei den Std-Containern ist das aber (glücklicherweise) entzerrt worden.</p>
<p>Was auch nichts ist, ist:</p>
<pre><code class="language-cpp">...
int inArray (...
...    return *vec, *zahl;
</code></pre>
<p>[/quote]<br />
Was soll hier zurückgegeben werden? vec? zahl? Was soll passieren, wenn Du ein int und einen Vektor mit einem Komma verknüpfst?</p>
<p>Mr Crown schrieb:</p>
<blockquote>
<p>...<br />
2. Wie kann ich jetzt die Reihenfolge der Elemente in dem vector umdrehen ?<br />
...</p>
</blockquote>
<p>Auf der schon o.g. Seite gibt's so nette Sachen wie<br />
<a href="http://www.cplusplus.com/reference/algorithm/reverse.html" rel="nofollow">reverse</a> , <a href="http://www.cplusplus.com/reference/algorithm/reverse_copy.html" rel="nofollow">reverse_copy</a> oder<br />
<a href="http://www.cplusplus.com/reference/algorithm/copy_backward.html" rel="nofollow">copy_backward</a><br />
- und noch einen Haufen anderer &quot;Standardlösungen&quot; für solche Standardprobleme...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633785</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sun, 21 Dec 2008 20:20:04 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Funktion mit Zeigern on Sun, 21 Dec 2008 20:21:54 GMT]]></title><description><![CDATA[<p>Danke. Das klappt. Man bin ich blöd. Ich bin schon so genervt, dass ich im vorigen Post ein &quot;;&quot; (semikolon) vergessen habe und darum die Fehlermeldung kam. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /><br />
Na jetzt ist alles super <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="🙂"
    /> <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="😃"
    /> <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="😃"
    /> Freu mich total.<br />
Vielen Dank an alle, die mir geholfen haben.<br />
Noch einen schönen Sonntag Abend und eine schöne Weihnachtszeit.<br />
Gruß<br />
Mr Crown</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1633786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1633786</guid><dc:creator><![CDATA[Mr Crown]]></dc:creator><pubDate>Sun, 21 Dec 2008 20:21:54 GMT</pubDate></item></channel></rss>