<?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[Funktionspointer definieren!?]]></title><description><![CDATA[<p>hi,</p>
<p>es geht um folgende Deklaration:</p>
<pre><code>static VOID (WINAPI * TrueSleep)(DWORD dwMilliseconds) = Sleep;
</code></pre>
<p>kann die evt. jemand kurz erklären?<br />
Was hat der Pointer-stern hier für eine Funktion? WINAPI zeigt auf TrueSleep?</p>
<p>Ich finde eher folgende Deklaration logischer:</p>
<pre><code>static VOID (WINAPI TrueSleep(DWORD dwMilliseconds)) = Sleep;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/157809/funktionspointer-definieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 09:43:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/157809.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Aug 2006 17:52:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionspointer definieren!? on Tue, 29 Aug 2006 17:52:37 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>es geht um folgende Deklaration:</p>
<pre><code>static VOID (WINAPI * TrueSleep)(DWORD dwMilliseconds) = Sleep;
</code></pre>
<p>kann die evt. jemand kurz erklären?<br />
Was hat der Pointer-stern hier für eine Funktion? WINAPI zeigt auf TrueSleep?</p>
<p>Ich finde eher folgende Deklaration logischer:</p>
<pre><code>static VOID (WINAPI TrueSleep(DWORD dwMilliseconds)) = Sleep;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1127082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1127082</guid><dc:creator><![CDATA[Progra12]]></dc:creator><pubDate>Tue, 29 Aug 2006 17:52:37 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionspointer definieren!? on Tue, 29 Aug 2006 17:59:05 GMT]]></title><description><![CDATA[<p>Und warum funktioniert dann:</p>
<pre><code>static VOID (WINAPI * TrueTextOut)( HDC hdc, int nXStart, int nYStart, LPCTSTR lpString, int cbString ) = TexOut;
</code></pre>
<p>nicht? windows.h sind included!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1127087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1127087</guid><dc:creator><![CDATA[Progra12]]></dc:creator><pubDate>Tue, 29 Aug 2006 17:59:05 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionspointer definieren!? on Wed, 30 Aug 2006 07:44:04 GMT]]></title><description><![CDATA[<p>Progra12 schrieb:</p>
<blockquote>
<p>Und warum funktioniert dann:</p>
<pre><code>static VOID (WINAPI * TrueTextOut)( HDC hdc, int nXStart, int nYStart, LPCTSTR lpString, int cbString ) = TexOut;
</code></pre>
<p>nicht? windows.h sind included!</p>
</blockquote>
<p>a) Sagt der Compiler mehr als &quot;tut nich&quot; ?<br />
b) Heißt die Funktion wirklich &quot;TexOut&quot; (Solltest sonst mal LaTexOut versuchen) <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>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1127353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1127353</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 30 Aug 2006 07:44:04 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionspointer definieren!? on Wed, 30 Aug 2006 07:52:25 GMT]]></title><description><![CDATA[<p>Progra12 schrieb:</p>
<blockquote>
<p>hi,</p>
<p>es geht um folgende Deklaration:</p>
<pre><code>static VOID (WINAPI * TrueSleep)(DWORD dwMilliseconds) = Sleep;
</code></pre>
<p>kann die evt. jemand kurz erklären?<br />
Was hat der Pointer-stern hier für eine Funktion? WINAPI zeigt auf TrueSleep?</p>
<p>Ich finde eher folgende Deklaration logischer:</p>
<pre><code>static VOID (WINAPI TrueSleep(DWORD dwMilliseconds)) = Sleep;
</code></pre>
</blockquote>
<p>&quot;So sind nunmal die bekackten Regeln&quot; (Big Lebowski)<br />
Der &quot;*&quot; ist nunmal das &quot;Pointerkennzeichen&quot; in C/C++.</p>
<pre><code>static VOID (WINAPI * TrueSleep)(DWORD dwMilliseconds) = Sleep;
</code></pre>
<p>Ein Funktionspointer wird definiert</p>
<pre><code class="language-cpp">Qualifier Returntype (*Funktionsname)(Argumentliste);
// z.B.
int (*f)(int a);
static void (*p)(void);
// Folgendes ist kein F-Pointer, sondern ein F-Prototyp mit Returntyp &quot;Pointer auf int&quot;:
int *f(int a);
</code></pre>
<p>Genau DEM entspricht Dein Beispiel.<br />
(&quot;WINAPI&quot; Wird in Deinem Fall ein #define auf irgendeinen Pointerqualifier o.ä. sein (kenn' ich nicht)).</p>
<p>Mit</p>
<pre><code class="language-cpp">...= Sleep;
// wird dem Funktionspointer ein Wert zugewiesen 
// (sprich: er zeigt jetzt auf die Funktion namens &quot;Sleep&quot;.
// Eigentlich nichts Anderes als:
int i = 1;
</code></pre>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1127357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1127357</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 30 Aug 2006 07:52:25 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionspointer definieren!? on Wed, 30 Aug 2006 07:56:51 GMT]]></title><description><![CDATA[<p>Progra12 schrieb:</p>
<blockquote>
<pre><code>static VOID (WINAPI * TrueSleep)(DWORD dwMilliseconds) = Sleep;
</code></pre>
<p>kann die evt. jemand kurz erklären?</p>
</blockquote>
<p>Ich könnte vielleicht, wenn ich wüsste, was genau du wissen willst. Ich mein, wenn du nicht wüsstest, wie man Funktionszeiger deklariert, hättest du nicht ausgerechnet ein Winapi-Beispiel gepostet. Hättest du andererseits speziell Probleme mit der Winap-Syntax, hättest du auch im Winapi-Forum gepostet. Da spar ich mir doch erstmal lange Erklärungen ...</p>
<blockquote>
<p>Was hat der Pointer-stern hier für eine Funktion? WINAPI zeigt auf TrueSleep?</p>
</blockquote>
<p>Er zeigt an, dass TrueSleep ein Pointer ist. Das &quot;WINAPI&quot; ist vermutlich ein #define auf irgendwas Compilerspezifisches. Lt. Standardsyntax darf an der Stelle nichts stehen, AFAIK.</p>
<blockquote>
<p>Ich finde eher folgende Deklaration logischer:</p>
<pre><code>static VOID (WINAPI TrueSleep(DWORD dwMilliseconds)) = Sleep;
</code></pre>
</blockquote>
<p>Mag sein, dass du es logischer findest, aber Funktionen kann man halt keine anderen Funktionen zuweisen. Dafür gibts ja gerade Funktionspointer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1127363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1127363</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 30 Aug 2006 07:56:51 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionspointer definieren!? on Wed, 30 Aug 2006 08:22:55 GMT]]></title><description><![CDATA[<p>WINAPI ist eine Calling Convention oder wie das heisst. Wird IIRC nach __stdcall aufgelöst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1127386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1127386</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 30 Aug 2006 08:22:55 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionspointer definieren!? on Wed, 30 Aug 2006 08:41:20 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<p>...Calling Convention ...</p>
</blockquote>
<p>DAS war der Ausdruck, den ich gesucht habe !</p>
<p>Danke, vielleicht merke ich mir den bis zum nächsten Mal <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>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1127400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1127400</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 30 Aug 2006 08:41:20 GMT</pubDate></item></channel></rss>