<?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[Compilerfehler: Neue Deklaration macht alte Deklaration mehrdeutig]]></title><description><![CDATA[<p>Hallo @all,</p>
<p>ich möchte gerne C++ lernen und habe mir deshalb das Buch von Prinz/Prinz &quot;C++ lernen und professionell anwenden&quot; gekauft. Nun bin ich schon bei Aufgabe 3 <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="😉"
    /> und habe ein kleines Problem. Ich habe diesen Beispielcode Zeile für Zeile abgetippt, aber beim Compilieren bekomme ich eine Fehlermeldung.</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

void pause();	// Prototyp

int main()
{
	cout &lt;&lt; endl &lt;&lt; &quot;Lieber Leser, &quot;
	&lt;&lt; endl &lt;&lt; &quot;goennen Sie&quot;
	&lt;&lt; &quot; sich jetzt eine &quot;;

	pause();
	cout &lt;&lt; &quot;!&quot; &lt;&lt; endl;

	return 0;
}

void pause()
{
	cout &lt;&lt; &quot;PAUSE&quot;;
}
</code></pre>
<p>Ich übersetze also mit</p>
<pre><code>g++ aufgabe03.cpp -o aufgabe03
</code></pre>
<p>und es kommt dann diese Fehlermeldung:</p>
<pre><code>aufgabe03.cpp:4: Fehler: neue Deklaration »void pause()«
/usr/include/unistd.h:429: Fehler: macht alte Deklaration »int pause()« mehrdeutig
</code></pre>
<p>Ich habe schon ausprobiert die Funktion einfach in &quot;paeuschen&quot; umzubenennen, da klappt es dann auch mit der Ausfuehrung, aber es würde mich interessieren, warum es dann mit dem Namen &quot;pause&quot; nicht funktioniert.</p>
<p>Ich würde mich freuen, wenn mir jemand weiterhelfen könnte.</p>
<p>Vielen Dank!</p>
<p>Greetz<br />
Polluxx</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204366/compilerfehler-neue-deklaration-macht-alte-deklaration-mehrdeutig</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 19:43:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204366.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 Feb 2008 09:49:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Compilerfehler: Neue Deklaration macht alte Deklaration mehrdeutig on Sat, 02 Feb 2008 09:49:27 GMT]]></title><description><![CDATA[<p>Hallo @all,</p>
<p>ich möchte gerne C++ lernen und habe mir deshalb das Buch von Prinz/Prinz &quot;C++ lernen und professionell anwenden&quot; gekauft. Nun bin ich schon bei Aufgabe 3 <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="😉"
    /> und habe ein kleines Problem. Ich habe diesen Beispielcode Zeile für Zeile abgetippt, aber beim Compilieren bekomme ich eine Fehlermeldung.</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

void pause();	// Prototyp

int main()
{
	cout &lt;&lt; endl &lt;&lt; &quot;Lieber Leser, &quot;
	&lt;&lt; endl &lt;&lt; &quot;goennen Sie&quot;
	&lt;&lt; &quot; sich jetzt eine &quot;;

	pause();
	cout &lt;&lt; &quot;!&quot; &lt;&lt; endl;

	return 0;
}

void pause()
{
	cout &lt;&lt; &quot;PAUSE&quot;;
}
</code></pre>
<p>Ich übersetze also mit</p>
<pre><code>g++ aufgabe03.cpp -o aufgabe03
</code></pre>
<p>und es kommt dann diese Fehlermeldung:</p>
<pre><code>aufgabe03.cpp:4: Fehler: neue Deklaration »void pause()«
/usr/include/unistd.h:429: Fehler: macht alte Deklaration »int pause()« mehrdeutig
</code></pre>
<p>Ich habe schon ausprobiert die Funktion einfach in &quot;paeuschen&quot; umzubenennen, da klappt es dann auch mit der Ausfuehrung, aber es würde mich interessieren, warum es dann mit dem Namen &quot;pause&quot; nicht funktioniert.</p>
<p>Ich würde mich freuen, wenn mir jemand weiterhelfen könnte.</p>
<p>Vielen Dank!</p>
<p>Greetz<br />
Polluxx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447951</guid><dc:creator><![CDATA[Polluxx]]></dc:creator><pubDate>Sat, 02 Feb 2008 09:49:27 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehler: Neue Deklaration macht alte Deklaration mehrdeutig on Sat, 02 Feb 2008 09:54:30 GMT]]></title><description><![CDATA[<p>Liegt zum einen an deinem Compiler und zum anderen daran das du den Namespace aufgelöst hast, bzw. diesen used ...</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

void pause();

int main()
{
    std::cout &lt;&lt; &quot;\nLieber Leser,\ngoennen Sie sich jetzt eine &quot;;
    pause();
    std::cout &lt;&lt; &quot;!&quot; &lt;&lt; endl;
}

void pause()
{
    std::cout &lt;&lt; &quot;PAUSE&quot; &lt;&lt; std::endl;
}
</code></pre>
<p>und schon sollte es gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447953</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 02 Feb 2008 09:54:30 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehler: Neue Deklaration macht alte Deklaration mehrdeutig on Sat, 02 Feb 2008 10:13:38 GMT]]></title><description><![CDATA[<p>(D)Evil, leider klappt das (zumindest bei mir) nicht. Anscheinend wird in iostream unter Unix irgendein betriebssystemspezifischer Header eingefügt, ohne ihn in einen Namensbereich zu packen. Mit anderen Worten: Das ist ein Bug.</p>
<p>Lösen lässt sich das, indem man selbst einen Namensbereich verwendet:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

namespace test {
    void pause();    // Prototyp
}

int main()
{
    cout &lt;&lt; endl &lt;&lt; &quot;Lieber Leser, &quot;
    &lt;&lt; endl &lt;&lt; &quot;goennen Sie&quot;
    &lt;&lt; &quot; sich jetzt eine &quot;;

    test::pause();
    cout &lt;&lt; &quot;!&quot; &lt;&lt; endl;

    return 0;
}

namespace test {
    void pause()
    {
        cout &lt;&lt; &quot;PAUSE&quot;;
    }
}
</code></pre>
<p>/EDIT: Ich möchte darauf hinweisen, dass es natürlich besserer Stil wäre, nicht (zumindest nicht global) 'using namespace std' zu verwenden. <em>Aber</em>: in einer Cpp-Datei spricht da eigentlich nichts gegen. Wenn tatsächlich ein Namenskonflikt auftritt, so ist dieser lokal und lässt sich leicht beheben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447958</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sat, 02 Feb 2008 10:13:38 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehler: Neue Deklaration macht alte Deklaration mehrdeutig on Fri, 08 Feb 2008 17:50:12 GMT]]></title><description><![CDATA[<p>Vielen Dank für Eure Antworten. Das hat mir sehr weitergeholfen!</p>
<p>Greetz<br />
Polluxx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452150</guid><dc:creator><![CDATA[Polluxx]]></dc:creator><pubDate>Fri, 08 Feb 2008 17:50:12 GMT</pubDate></item></channel></rss>