<?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[Kein return -&amp;gt; Compiler sagt nix?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich wundere mich über folgendes: Wenn ich in einer Funktion die einen wert zurückgeben soll kein return angebe meckert der compiler gar nicht. Erst wenn ich das flag -Wall eintippe kommt ein warning. Müsste das nicht ein error sein? Warum ist das so?</p>
<p>hier ein minimalbeispiel welches aber durchaus auch kleiner hätte sein können.<br />
In der fun2() fehlt das return:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class A
{
  public:
        double fun(const double &amp; val)
        {
                m_value = fun2();
        }

        double fun2()
        {
                double val2 = 0.56;

                val2;
        }

        double m_value;

};

int main()
{
        A A_C;

        double val = 3.14;

        A_C.fun(val);

        std::cout &lt;&lt; &quot;Test of m_value: &quot; &lt;&lt; A_C.m_value &lt;&lt; std::endl;

        double test = A_C.fun2();

        std::cout &lt;&lt; &quot;test: &quot; &lt;&lt; test  &lt;&lt; std::endl;
}
</code></pre>
<p>Die membervariable und test haben beide den Wert &quot;NaN&quot;. Mein Compiler ist<br />
der gcc 4.1.2:</p>
<pre><code>g++ -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,treelang,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 4.1.2 (Gentoo 4.1.2 p1.1)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/231871/kein-return-gt-compiler-sagt-nix</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 13:24:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/231871.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Jan 2009 12:47:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kein return -&amp;gt; Compiler sagt nix? on Fri, 16 Jan 2009 12:47:47 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich wundere mich über folgendes: Wenn ich in einer Funktion die einen wert zurückgeben soll kein return angebe meckert der compiler gar nicht. Erst wenn ich das flag -Wall eintippe kommt ein warning. Müsste das nicht ein error sein? Warum ist das so?</p>
<p>hier ein minimalbeispiel welches aber durchaus auch kleiner hätte sein können.<br />
In der fun2() fehlt das return:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class A
{
  public:
        double fun(const double &amp; val)
        {
                m_value = fun2();
        }

        double fun2()
        {
                double val2 = 0.56;

                val2;
        }

        double m_value;

};

int main()
{
        A A_C;

        double val = 3.14;

        A_C.fun(val);

        std::cout &lt;&lt; &quot;Test of m_value: &quot; &lt;&lt; A_C.m_value &lt;&lt; std::endl;

        double test = A_C.fun2();

        std::cout &lt;&lt; &quot;test: &quot; &lt;&lt; test  &lt;&lt; std::endl;
}
</code></pre>
<p>Die membervariable und test haben beide den Wert &quot;NaN&quot;. Mein Compiler ist<br />
der gcc 4.1.2:</p>
<pre><code>g++ -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,treelang,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 4.1.2 (Gentoo 4.1.2 p1.1)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1646690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1646690</guid><dc:creator><![CDATA[uffob]]></dc:creator><pubDate>Fri, 16 Jan 2009 12:47:47 GMT</pubDate></item><item><title><![CDATA[Reply to Kein return -&amp;gt; Compiler sagt nix? on Fri, 16 Jan 2009 14:31:09 GMT]]></title><description><![CDATA[<p>Richtig. Sollte einen Error geben.<br />
Auch MSVC++ gibt nicht immer einen Error. (Wenn man ein return in einem if hat und sonst nichts, dann bekommt man aber immerhin noch eine Warnung).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1646700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1646700</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 16 Jan 2009 14:31:09 GMT</pubDate></item><item><title><![CDATA[Reply to Kein return -&amp;gt; Compiler sagt nix? on Fri, 16 Jan 2009 14:43:03 GMT]]></title><description><![CDATA[<p>öhm....was heißt das jetzt? Sich an die gcc-gemeinde wenden und vorschlagen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1646710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1646710</guid><dc:creator><![CDATA[uffob]]></dc:creator><pubDate>Fri, 16 Jan 2009 14:43:03 GMT</pubDate></item><item><title><![CDATA[Reply to Kein return -&amp;gt; Compiler sagt nix? on Fri, 16 Jan 2009 14:50:09 GMT]]></title><description><![CDATA[<p>Compiler wechseln. :p</p>
<p>Naja, sich in der Community zu melden, wird wahrscheinlich nicht viel bringen. Hast du denn die neueste Version? Wenn du damit leben kannst, lässt du es so, wenn das wirklich so tragisch ist, siehst du dich eben nach einer anderen IDE um... <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/1646715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1646715</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 16 Jan 2009 14:50:09 GMT</pubDate></item><item><title><![CDATA[Reply to Kein return -&amp;gt; Compiler sagt nix? on Fri, 16 Jan 2009 15:00:51 GMT]]></title><description><![CDATA[<p>uffob schrieb:</p>
<blockquote>
<p>öhm....was heißt das jetzt? Sich an die gcc-gemeinde wenden und vorschlagen?</p>
</blockquote>
<p>Ich nehme mal an, das gcc die gleiche Option wie MSVC anbietet: Warnungen als Fehler behandeln. Dies stelle ich bei mir Grundsätzlich ein, und wenn ich dann dann tatsächlich Warnungen bekomme die wirklich unrelevant sind (Was imho selten der Fall ist), dann stelle ich diese geziehlt und so lokal als möglich ab (in MSVC mittels pragma warning (+push/pop)).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1646724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1646724</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 16 Jan 2009 15:00:51 GMT</pubDate></item><item><title><![CDATA[Reply to Kein return -&amp;gt; Compiler sagt nix? on Fri, 16 Jan 2009 18:00:32 GMT]]></title><description><![CDATA[<p>Warnungen sollten nicht ignoriert werden!!! Warnungen können potentielle Probleme sein.</p>
<p>Deshalb alle Warnungen durch das Compiler-Flag einschalten. Daraufhin kann dann geprüft werden ob die Warnung relevant ist und behoben werden. Ggf. kann dann diese Warnungen (falls nicht relevant) durch ein #pragma deaktivieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1646802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1646802</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Fri, 16 Jan 2009 18:00:32 GMT</pubDate></item></channel></rss>