<?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[((void(*)())0)();]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe denb folgenden Ausdruck</p>
<pre><code class="language-cpp">((void(*)())0)();
</code></pre>
<p>irgendwo gesehen. Mein Compiler VS 2008 Express meckert auch nicht, aber ich verstehe ihn nicht komplett. Insbesondere die Klammern um den Stern</p>
<p>Seb</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/231743/void-0</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 17:01:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/231743.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Jan 2009 15:28:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ((void(*)())0)(); on Wed, 14 Jan 2009 15:28:24 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe denb folgenden Ausdruck</p>
<pre><code class="language-cpp">((void(*)())0)();
</code></pre>
<p>irgendwo gesehen. Mein Compiler VS 2008 Express meckert auch nicht, aber ich verstehe ihn nicht komplett. Insbesondere die Klammern um den Stern</p>
<p>Seb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1645473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1645473</guid><dc:creator><![CDATA[neuling2009]]></dc:creator><pubDate>Wed, 14 Jan 2009 15:28:24 GMT</pubDate></item><item><title><![CDATA[Reply to ((void(*)())0)(); on Wed, 14 Jan 2009 15:32:45 GMT]]></title><description><![CDATA[<p>das ganze ist ein cast von 0 nach</p>
<pre><code class="language-cpp">void (*)()
</code></pre>
<p>also ein zeiger auf eine funktion ohne parameter und rückgabetyp.<br />
die beiden klammern am ende rufen die gecastete funktion dann auf.</p>
<p>ist ein aufruf der funktion an speicheraddresse 0.</p>
<p>geht zu 99.999992455% schief, vllt im bios möglich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1645478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1645478</guid><dc:creator><![CDATA[helferlein]]></dc:creator><pubDate>Wed, 14 Jan 2009 15:32:45 GMT</pubDate></item><item><title><![CDATA[Reply to ((void(*)())0)(); on Wed, 14 Jan 2009 15:34:40 GMT]]></title><description><![CDATA[<p>jup.<br />
ist vermutlich gedacht als aufruf des debuggers. statt zum beispiel __asm int 3;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1645480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1645480</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 14 Jan 2009 15:34:40 GMT</pubDate></item><item><title><![CDATA[Reply to ((void(*)())0)(); on Wed, 14 Jan 2009 15:58:22 GMT]]></title><description><![CDATA[<p>ganz normale zugriffsverletzung unter msvc 2008</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1645500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1645500</guid><dc:creator><![CDATA[helferlein]]></dc:creator><pubDate>Wed, 14 Jan 2009 15:58:22 GMT</pubDate></item><item><title><![CDATA[Reply to ((void(*)())0)(); on Thu, 15 Jan 2009 13:45:17 GMT]]></title><description><![CDATA[<p>danke für eure Antwiorten.</p>
<p>ich dachte das der Cast auf eine Funktion mit Rückgabe eines void-Zeigers und ohne Aufrufparameter so aussehen würde.</p>
<pre><code class="language-cpp">((void *())0)();
</code></pre>
<p>Das scheint aber nicht zu funktionieren? oder das es vielleicht so aussehen würde.</p>
<pre><code class="language-cpp">(((void *)())0)();
</code></pre>
<p>Jetzt habe ich ja den Rückgabe Wert der Funktion (void <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="😉"
    /> geklammert.</p>
<p>Das es nicht funktioniert ist klar. Mich interessiert auch nur die Theorie dahinter.</p>
<p>Seb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1646151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1646151</guid><dc:creator><![CDATA[neuling2009]]></dc:creator><pubDate>Thu, 15 Jan 2009 13:45:17 GMT</pubDate></item><item><title><![CDATA[Reply to ((void(*)())0)(); on Thu, 15 Jan 2009 13:51:38 GMT]]></title><description><![CDATA[<p>neuling2009 schrieb:</p>
<blockquote>
<p>danke für eure Antwiorten.</p>
<p>ich dachte das der Cast auf eine Funktion mit Rückgabe eines void-Zeigers und ohne Aufrufparameter so aussehen würde.</p>
<pre><code class="language-cpp">((void *())0)();
</code></pre>
</blockquote>
<p>Man kann nicht auf eine Funktion casten. Im Original wird auf einen Funktions<strong>zeiger</strong> gecastet, außerdem mit Rückgabetyp void, nicht void-Zeiger.</p>
<blockquote>
<p>Das es nicht funktioniert ist klar. Mich interessiert auch nur die Theorie dahinter.</p>
</blockquote>
<p>Schreibe das erstmal als Deklaration:</p>
<pre><code class="language-cpp">void (*fcnptr)();
</code></pre>
<p>Dann lass den Namen <code>fcnptr</code> weg, und du hast den Typ: <code>void (*)()</code> . Jetzt noch Klammern drum, und der Casts ist fertig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1646158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1646158</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 15 Jan 2009 13:51:38 GMT</pubDate></item></channel></rss>