<?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[Übersetzungsfehler in C++11 wegen Rückgabetyp von auto]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>irgendwie versteh ich nicht wo ich meinen Fehler habe. Ich hab eine Funktion die mir die Primzahlen herausfiltern soll:</p>
<pre><code class="language-cpp">auto find_primes(unsigned int bound) -&gt; std::vector&lt;unsigned int&gt; { ... }
</code></pre>
<p>Doch immer nach -&gt; bekomme ich folgende Fehlermeldungen.</p>
<pre><code>Fehler: Typspezifikation erwartet
</code></pre>
<pre><code>Fehler: Initialisierung erwartet
</code></pre>
<p>Was ist bei dieser Funktionsdefinition denn nun falsch? cO</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/307349/übersetzungsfehler-in-c-11-wegen-rückgabetyp-von-auto</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 19:01:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/307349.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 24 Aug 2012 08:27:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 08:27:36 GMT]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>irgendwie versteh ich nicht wo ich meinen Fehler habe. Ich hab eine Funktion die mir die Primzahlen herausfiltern soll:</p>
<pre><code class="language-cpp">auto find_primes(unsigned int bound) -&gt; std::vector&lt;unsigned int&gt; { ... }
</code></pre>
<p>Doch immer nach -&gt; bekomme ich folgende Fehlermeldungen.</p>
<pre><code>Fehler: Typspezifikation erwartet
</code></pre>
<pre><code>Fehler: Initialisierung erwartet
</code></pre>
<p>Was ist bei dieser Funktionsdefinition denn nun falsch? cO</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245064</guid><dc:creator><![CDATA[init01]]></dc:creator><pubDate>Fri, 24 Aug 2012 08:27:36 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 08:32:26 GMT]]></title><description><![CDATA[<p><code>#include&lt;vector&gt;</code> vergessen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245065</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 24 Aug 2012 08:32:26 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 08:36:06 GMT]]></title><description><![CDATA[<p>Ja. Danke. *duck* .. *peinlich*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245070</guid><dc:creator><![CDATA[init01]]></dc:creator><pubDate>Fri, 24 Aug 2012 08:36:06 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 09:32:43 GMT]]></title><description><![CDATA[<p>Gibt es einen Grund, warum du trailing return types verwendest?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245084</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Fri, 24 Aug 2012 09:32:43 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 14:38:30 GMT]]></title><description><![CDATA[<p>ist doch hübscher!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245221</guid><dc:creator><![CDATA[not_init]]></dc:creator><pubDate>Fri, 24 Aug 2012 14:38:30 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 14:57:52 GMT]]></title><description><![CDATA[<p>not_init schrieb:</p>
<blockquote>
<p>ist doch hübscher!</p>
</blockquote>
<p>Wie du meinst. <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="🙂"
    /><br />
Es ist nur anstrengender zu lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245225</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 24 Aug 2012 14:57:52 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 14:58:33 GMT]]></title><description><![CDATA[<p>not_init schrieb:</p>
<blockquote>
<p>ist doch hübscher!</p>
</blockquote>
<p>Findest du? Ist eher ungewohnt, außerdem <em>mehr</em> zu tippen. Aber vielleicht setzt es sich irgendwann durch...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245226</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 24 Aug 2012 14:58:33 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 17:20:18 GMT]]></title><description><![CDATA[<p>Ist es eigentlich denkbar, daß der return type vor dem Funktionsnamen damit irgendwann wegfällt?</p>
<pre><code class="language-cpp">auto foo() -&gt; int
{
   return 42;
}
</code></pre>
<p>=&gt;</p>
<pre><code class="language-cpp">foo() -&gt; int
{
   return 42;
}
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245258</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Fri, 24 Aug 2012 17:20:18 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 17:23:44 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>Ist es eigentlich denkbar, daß der return type vor dem Funktionsnamen damit irgendwann wegfällt?</p>
<pre><code class="language-cpp">auto foo() -&gt; int
{
   return 42;
}
</code></pre>
</blockquote>
<p>Was hat eigentlich das auto hier noch zu bedeuten? Ist doch überflüssig, wenn der Typ am Ende sowieso angegeben wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245259</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Fri, 24 Aug 2012 17:23:44 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 17:31:52 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>Was hat eigentlich das auto hier noch zu bedeuten? Ist doch überflüssig, wenn der Typ am Ende sowieso angegeben wird?</p>
</blockquote>
<p>Ist notwendig, um eine unzweideutige Syntax hinzubekommen:</p>
<pre><code class="language-cpp">foo()-&gt;bar;
</code></pre>
<p>Ist das<br />
a) eine Funktionsdeklaration namens foo mit Rückgabetyp bar<br />
b) der Aufruf einer Funktion foo, die einen (smart-)pointer auf X zurückgibt, über den auf die Membervariable X::bar zugegriffen wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245261</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 24 Aug 2012 17:31:52 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 17:42:39 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>Ist es eigentlich denkbar, daß der return type vor dem Funktionsnamen damit irgendwann wegfällt?</p>
<pre><code class="language-cpp">auto foo() -&gt; int
{
   return 42;
}
</code></pre>
<p>=&gt;</p>
<pre><code class="language-cpp">foo() -&gt; int
{
   return 42;
}
</code></pre>
<p>?</p>
</blockquote>
<p>Unwahrscheinlich, das wäre dann ungefähr so wie das implizite int in C.<br />
Ich hätte mir ja gewünscht, dass statt dessen die Angabe des Rückgabewertes weggelassen werden kann, so wie es bei Lambdas der Fall ist.</p>
<pre><code class="language-cpp">auto foo() { return 42; }
</code></pre>
<p>So wurde das ja auch urspünglich mal vorgeschlagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245262</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 24 Aug 2012 17:42:39 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 17:47:04 GMT]]></title><description><![CDATA[<p>Das heißt,</p>
<pre><code class="language-cpp">auto foo()
{
   if( std::rand() % 2 ) {
      return std::string( &quot;bar&quot; );
   } else {
      return 42;
   }
}
</code></pre>
<p>würde mal <code>std::string</code> mal <code>int</code> zurückgeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245263</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Fri, 24 Aug 2012 17:47:04 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 17:53:05 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>Das heißt,</p>
<pre><code class="language-cpp">auto foo()
{
   if( std::rand() % 2 ) {
      return std::string( &quot;bar&quot; );
   } else {
      return 42;
   }
}
</code></pre>
<p>würde mal <code>std::string</code> mal <code>int</code> zurückgeben?</p>
</blockquote>
<p>Nein. Das ist nicht möglich, der Compiler braucht schließlich einen festen Typ. Heutige Lambdas brauchen für sowas einen expliziten Rückgabetypen (alles, was mehr als nur ein statement (das return-statement) enthält braucht einen Rückgabetypen). Wenn man das etwas aufbohren will, müssten alle return-statements den gleichen Returntypen enthalten, damit der Compiler was ordentliches draus machen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245265</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 24 Aug 2012 17:53:05 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 17:57:53 GMT]]></title><description><![CDATA[<p><em>Würde</em>, pumuckl, in einer zukünftigen - möglicherweise unmöglichen? - Version von C++.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245267</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245267</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Fri, 24 Aug 2012 17:57:53 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 18:44:20 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/28420">@Kellerautomat</a>: &quot;Gibt es einen Grund, warum du trailing return types verwendest?&quot;</p>
<p>Keinen allgemein nützlichen, nur einen persönlichen <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="🙂"
    /> Ich finde es irgendwie verständlicher. Wenn ich auto int foo() schreiben würde, könnte ich auto ja gleich weglassen.. (kommt mir so vor). Und bei dem &quot;-&gt;&quot; Zeichen stellt sich mein Gehirn immer den Satz &quot;aus auto wird (-&gt;) int&quot; vor. Also rein persönlich. <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/2245272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245272</guid><dc:creator><![CDATA[init01]]></dc:creator><pubDate>Fri, 24 Aug 2012 18:44:20 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 18:58:53 GMT]]></title><description><![CDATA[<p>Kellerautomat schrieb:</p>
<blockquote>
<p>Gibt es einen Grund, warum du trailing return types verwendest?</p>
</blockquote>
<p>Beispiele:</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
auto add(T a, T b) -&gt; decltype(a+b);
</code></pre>
<p>- Übersichtlichkeit</p>
<p>- nested Klassen müssen nicht referenziert werden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245274</guid><dc:creator><![CDATA[Cyres]]></dc:creator><pubDate>Fri, 24 Aug 2012 18:58:53 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 18:59:44 GMT]]></title><description><![CDATA[<p>init01 schrieb:</p>
<blockquote>
<p>[...] Wenn ich auto int foo() schreiben würde, könnte ich auto ja gleich weglassen..</p>
</blockquote>
<p>Ne, nicht &quot;könnte weglassen&quot; du &quot;müsstest weglassen&quot;. <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/2245275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245275</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Fri, 24 Aug 2012 18:59:44 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 19:41:51 GMT]]></title><description><![CDATA[<p>Cyres schrieb:</p>
<blockquote>
<p>Kellerautomat schrieb:</p>
<blockquote>
<p>Gibt es einen Grund, warum du trailing return types verwendest?</p>
</blockquote>
<p>Beispiele:</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
auto add(T a, T b) -&gt; decltype(a+b);
</code></pre>
<p>- Übersichtlichkeit</p>
<p>- nested Klassen müssen nicht referenziert werden</p>
</blockquote>
<p>Das es Gründe gibt ist ja unbestritten, aber die Frage bezog sich meiner Ansicht nach gezielt auf</p>
<pre><code class="language-cpp">auto find_primes(unsigned int bound) -&gt; std::vector&lt;unsigned int&gt;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2245283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245283</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Fri, 24 Aug 2012 19:41:51 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Fri, 24 Aug 2012 21:00:12 GMT]]></title><description><![CDATA[<p>Cyres schrieb:</p>
<blockquote>
<p>Beispiele: [...]</p>
</blockquote>
<p>Du kannst mir glauben, ich weiss schon, wozu das gut ist. Im Falle des TE's gibt's aber keinen offensichtlichen, technischen Grund.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245291</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Fri, 24 Aug 2012 21:00:12 GMT</pubDate></item><item><title><![CDATA[Reply to Übersetzungsfehler in C++11 wegen Rückgabetyp von auto on Sat, 25 Aug 2012 05:25:37 GMT]]></title><description><![CDATA[<p>Kellerautomat schrieb:</p>
<blockquote>
<p>Cyres schrieb:</p>
<blockquote>
<p>Beispiele: [...]</p>
</blockquote>
<p>Du kannst mir glauben, ich weiss schon, wozu das gut ist. Im Falle des TE's gibt's aber keinen offensichtlichen, technischen Grund.</p>
</blockquote>
<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Das es Gründe gibt ist ja unbestritten, aber die Frage bezog sich meiner Ansicht nach gezielt auf [...]</p>
</blockquote>
<p>Achso, ich dachte es wäre allgemein die Frage.</p>
<p>Aus o.g. Gründen schreibe ich in neuen Projekten allerdings alle Funktionen in der Schreibweise, eine Ausnahme sind da Prozeduren, die keinen Rückgabewert haben (void hat genausoviele Buchstaben wie auto und der Methodenname steht somit an der gleichen Stelle und man kann auf einen Blick zwischen Funktionen und Prozeduren unterscheiden)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2245313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2245313</guid><dc:creator><![CDATA[Cyres]]></dc:creator><pubDate>Sat, 25 Aug 2012 05:25:37 GMT</pubDate></item></channel></rss>