<?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[funktion klappt nicht.]]></title><description><![CDATA[<p>Hallo.<br />
Ich bastel hier gerade ne Funktion umbennnen aber irgendwie klappt die nicht ganz. Es kommt der Fehler:<br />
Error 1 error C2664: 'umbenennen' : cannot convert parameter 1 from 'char (*)[21]' to 'char *[]'</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;iostream&gt;
#include &lt;conio.h&gt;

using namespace std;

void umbenennen(char *mynameis[21])
{

	cout &lt;&lt;&quot;Gib dein neuen Namen ein: \n&quot;;
	cin &gt;&gt; *mynameis;
	cout &lt;&lt;&quot;hallo &quot;&lt;&lt;mynameis;

}

int main()
{

	char mynameis[21];
	int jaodernein;

	cout &lt;&lt;&quot;Hallo, wie ist dein Name?\n&quot;;
	cin &gt;&gt; mynameis;
	cout &lt;&lt;&quot;Dein Name ist &quot;&lt;&lt;mynameis&lt;&lt;&quot;!&quot;;

	cout &lt;&lt; &quot;\nWillst du deinen Name umbennen?\n&quot;;
	cout &lt;&lt; &quot;\n 1= Ja | 2= Nein\n&quot;;
	cin &gt;&gt; jaodernein;

	if (jaodernein==1)
	{
		umbenennen(&amp;mynameis);
	}
	else 
	{
		cout &lt;&lt; &quot;Ok, du bist weiterhin &quot;&lt;&lt;mynameis;
	}

	cout &lt;&lt;&quot;Dein neuer Name ist &quot;&lt;&lt;mynameis&lt;&lt;&quot;!&quot;;

    getch();
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/248394/funktion-klappt-nicht</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 03:33:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/248394.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Aug 2009 10:10:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to funktion klappt nicht. on Mon, 24 Aug 2009 10:10:45 GMT]]></title><description><![CDATA[<p>Hallo.<br />
Ich bastel hier gerade ne Funktion umbennnen aber irgendwie klappt die nicht ganz. Es kommt der Fehler:<br />
Error 1 error C2664: 'umbenennen' : cannot convert parameter 1 from 'char (*)[21]' to 'char *[]'</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;iostream&gt;
#include &lt;conio.h&gt;

using namespace std;

void umbenennen(char *mynameis[21])
{

	cout &lt;&lt;&quot;Gib dein neuen Namen ein: \n&quot;;
	cin &gt;&gt; *mynameis;
	cout &lt;&lt;&quot;hallo &quot;&lt;&lt;mynameis;

}

int main()
{

	char mynameis[21];
	int jaodernein;

	cout &lt;&lt;&quot;Hallo, wie ist dein Name?\n&quot;;
	cin &gt;&gt; mynameis;
	cout &lt;&lt;&quot;Dein Name ist &quot;&lt;&lt;mynameis&lt;&lt;&quot;!&quot;;

	cout &lt;&lt; &quot;\nWillst du deinen Name umbennen?\n&quot;;
	cout &lt;&lt; &quot;\n 1= Ja | 2= Nein\n&quot;;
	cin &gt;&gt; jaodernein;

	if (jaodernein==1)
	{
		umbenennen(&amp;mynameis);
	}
	else 
	{
		cout &lt;&lt; &quot;Ok, du bist weiterhin &quot;&lt;&lt;mynameis;
	}

	cout &lt;&lt;&quot;Dein neuer Name ist &quot;&lt;&lt;mynameis&lt;&lt;&quot;!&quot;;

    getch();
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1765703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765703</guid><dc:creator><![CDATA[hellooworldy]]></dc:creator><pubDate>Mon, 24 Aug 2009 10:10:45 GMT</pubDate></item><item><title><![CDATA[Reply to funktion klappt nicht. on Mon, 24 Aug 2009 10:14:05 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void umbenennen(char mynameis[21])
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1765705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765705</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Mon, 24 Aug 2009 10:14:05 GMT</pubDate></item><item><title><![CDATA[Reply to funktion klappt nicht. on Mon, 24 Aug 2009 10:16:54 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<pre><code class="language-cpp">void umbenennen(char mynameis[21])
</code></pre>
</blockquote>
<p>jaaa???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1765707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765707</guid><dc:creator><![CDATA[hellooworldy]]></dc:creator><pubDate>Mon, 24 Aug 2009 10:16:54 GMT</pubDate></item><item><title><![CDATA[Reply to funktion klappt nicht. on Mon, 24 Aug 2009 10:26:26 GMT]]></title><description><![CDATA[<p>hellooworldy schrieb:</p>
<blockquote>
<p>_matze schrieb:</p>
<blockquote>
<pre><code class="language-cpp">void umbenennen(char mynameis[21])
</code></pre>
</blockquote>
<p>jaaa???</p>
</blockquote>
<p>Sieh dir den Unterschied zu deinem Code mal an. Du hast da ein '*' zuviel. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1765713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765713</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Mon, 24 Aug 2009 10:26:26 GMT</pubDate></item><item><title><![CDATA[Reply to funktion klappt nicht. on Mon, 24 Aug 2009 10:26:27 GMT]]></title><description><![CDATA[<p>Ahh das Sternchen ist weg. Jetzt erst gesehen.</p>
<p>Aber es kommt immer noch der Fehler:</p>
<p>Error 1 error C2664: 'umbenennen' : cannot convert parameter 1 from 'char (*)[21]' to 'char []'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1765714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765714</guid><dc:creator><![CDATA[hellooworldy]]></dc:creator><pubDate>Mon, 24 Aug 2009 10:26:27 GMT</pubDate></item><item><title><![CDATA[Reply to funktion klappt nicht. on Mon, 24 Aug 2009 10:27:42 GMT]]></title><description><![CDATA[<p>hellooworldy schrieb:</p>
<blockquote>
<p>Ahh das Sternchen ist weg. Jetzt erst gesehen.</p>
<p>Aber es kommt immer noch der Fehler:</p>
<p>Error 1 error C2664: 'umbenennen' : cannot convert parameter 1 from 'char (*)[21]' to 'char []'</p>
</blockquote>
<p>Diesmal hast du beim Aufruf ein '&amp;' zuviel. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1765715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765715</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Mon, 24 Aug 2009 10:27:42 GMT</pubDate></item><item><title><![CDATA[Reply to funktion klappt nicht. on Mon, 24 Aug 2009 10:29:07 GMT]]></title><description><![CDATA[<p>hellooworldy schrieb:</p>
<blockquote>
<pre><code class="language-cpp">void umbenennen(char *mynameis[21])
{
	cout &lt;&lt;&quot;Gib dein neuen Namen ein: \n&quot;;
	cin &gt;&gt; *mynameis;
	cout &lt;&lt;&quot;hallo &quot;&lt;&lt;mynameis;
}
</code></pre>
</blockquote>
<p>Da hat Dir die Präzedenz von Operatoren einen Streich gespielt. Die Regel ist aber einfach: Alle Postfix-Operatoren binden stärker als Präfix-Operatoren. mynameis ist (eigentlich) ein Array von Zeigern auf char. Top-Level-Arrays bei Funktionsparametern gibt es aber nicht wirklich. Hier wird eine Transformation durchgeführt, die aus dem Array ein Zeiger macht. <code>mynameis</code> ist also ein char**.</p>
<p>Du wolltest aber wahrscheinlich &quot; <code>char (*mynameis)[21]</code> &quot; schreiben. <em>Das</em> ist dann ein Zeiger auf ein 21-Elementiges Array von char.</p>
<p>Der Vorschlag von _matze sollte aber auch kompilieren, wenn du <code>umbenennen(&amp;mynameis);</code> durch <code>umbenennen(mynameis);</code> ersetzt (Ich habe den Addressoperator entfernt.</p>
<p>Noch besser wär sicherlich die Verwendung von std::string. Dann brauchst Du Dir auch keine Sorgen mehr über Pufferüberläufe machen; denn so, wie Du Dir das überlegt hast, ist das Verhalten undefiniert, wenn der Benutzer einen Namen eingibt, der aus mehr als 20 Zeichen besteht.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1765716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765716</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Mon, 24 Aug 2009 10:29:07 GMT</pubDate></item><item><title><![CDATA[Reply to funktion klappt nicht. on Mon, 24 Aug 2009 11:31:21 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>[cpp]<br />
[...]<br />
Noch besser wär sicherlich die Verwendung von std::string. Dann brauchst Du Dir auch keine Sorgen mehr über Pufferüberläufe machen; denn so, wie Du Dir das überlegt hast, ist das Verhalten undefiniert, wenn der Benutzer einen Namen eingibt, der aus mehr als 20 Zeichen besteht.</p>
<p>Gruß,<br />
SP</p>
</blockquote>
<p>Kann man in dem Fall nicht eine Exception einfügen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1765754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765754</guid><dc:creator><![CDATA[skullyan]]></dc:creator><pubDate>Mon, 24 Aug 2009 11:31:21 GMT</pubDate></item><item><title><![CDATA[Reply to funktion klappt nicht. on Mon, 24 Aug 2009 11:47:12 GMT]]></title><description><![CDATA[<p>skullyan schrieb:</p>
<blockquote>
<p>Kann man in dem Fall nicht eine Exception einfügen?</p>
</blockquote>
<p>Natürlich. Man könnte auch eine Dialogbox mit Fehlermeldung usw. einfügen. Nur wozu den User in seinen Möglichkeiten (und Namen) beschneiden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1765763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765763</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 24 Aug 2009 11:47:12 GMT</pubDate></item></channel></rss>