<?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[EnumWindows Funktion aus Klasse übergeben]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte der Funktion EnumWindows den Zeiger auf eine Funktion übergeben.<br />
(So wie man es halt macht)</p>
<p>Das Problem ist nun, dass die zu übergebende Funktion in einer Klasse steht und ich es nicht hinbekomme.<br />
(Die Funktion EnumWindows wird innerhalb der selben Klasse aufgerufen)</p>
<p>Die .h Datei:</p>
<pre><code class="language-cpp">class EineKlasse
{

	BOOL CALLBACK EnumWindowsProc (HWND hwnd, LPARAM l_param); 

        //Diese funktion enthält die  EnumWindows Funktion
        void test(); 

}
</code></pre>
<p>Die .cpp</p>
<pre><code class="language-cpp">#include &quot;EineKlasse.h&quot;

BOOL CALLBACK EineKlasse::EnumWindowsProc (HWND hwnd, LPARAM lParam) 
{ 
  //Mit Inhalt, hier weggelasssen

} 

void EineKlasse::test()
{
   EnumWindows (EineKlasse::EnumWindowsProc, 0);    //Dies funktioniert nicht

}
</code></pre>
<p>Als Fehler wird ausgegeben:<br />
&quot;error C3867: &quot;EineKlasse::EnumWindowsProc&quot;: Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie &quot;&amp;EineKlasse::EnumWindowsProc&quot;, um einen Zeiger auf den Member zu erstellen.&quot;</p>
<p>Mache ich dann was da steht also so:<br />
Die .cpp</p>
<pre><code class="language-cpp">#include &quot;EineKlasse.h&quot;

BOOL CALLBACK EineKlasse::EnumWindowsProc (HWND hwnd, LPARAM lParam) 
{ 
  //Mit konkretem Inhalt hier weggelasssen

} 

void EineKlasse::test()
{
   EnumWindows (&amp;EineKlasse::EnumWindowsProc, 0);    //Dies funktioniert nicht

}
</code></pre>
<p>Nun kommt als Fehler:<br />
&quot;error C2664: 'EnumWindows': Konvertierung des Parameters 1 von 'BOOL (__stdcall Trainer::* )(HWND,LPARAM)' in 'WNDENUMPROC' nicht möglich&quot;</p>
<p>(in c bekomme ich das hin, aber in c++ leider nicht)<br />
Wie macht man das richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/223594/enumwindows-funktion-aus-klasse-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Sat, 03 Oct 2026 19:19:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/223594.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 28 Sep 2008 10:23:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to EnumWindows Funktion aus Klasse übergeben on Sun, 28 Sep 2008 10:23:44 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte der Funktion EnumWindows den Zeiger auf eine Funktion übergeben.<br />
(So wie man es halt macht)</p>
<p>Das Problem ist nun, dass die zu übergebende Funktion in einer Klasse steht und ich es nicht hinbekomme.<br />
(Die Funktion EnumWindows wird innerhalb der selben Klasse aufgerufen)</p>
<p>Die .h Datei:</p>
<pre><code class="language-cpp">class EineKlasse
{

	BOOL CALLBACK EnumWindowsProc (HWND hwnd, LPARAM l_param); 

        //Diese funktion enthält die  EnumWindows Funktion
        void test(); 

}
</code></pre>
<p>Die .cpp</p>
<pre><code class="language-cpp">#include &quot;EineKlasse.h&quot;

BOOL CALLBACK EineKlasse::EnumWindowsProc (HWND hwnd, LPARAM lParam) 
{ 
  //Mit Inhalt, hier weggelasssen

} 

void EineKlasse::test()
{
   EnumWindows (EineKlasse::EnumWindowsProc, 0);    //Dies funktioniert nicht

}
</code></pre>
<p>Als Fehler wird ausgegeben:<br />
&quot;error C3867: &quot;EineKlasse::EnumWindowsProc&quot;: Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie &quot;&amp;EineKlasse::EnumWindowsProc&quot;, um einen Zeiger auf den Member zu erstellen.&quot;</p>
<p>Mache ich dann was da steht also so:<br />
Die .cpp</p>
<pre><code class="language-cpp">#include &quot;EineKlasse.h&quot;

BOOL CALLBACK EineKlasse::EnumWindowsProc (HWND hwnd, LPARAM lParam) 
{ 
  //Mit konkretem Inhalt hier weggelasssen

} 

void EineKlasse::test()
{
   EnumWindows (&amp;EineKlasse::EnumWindowsProc, 0);    //Dies funktioniert nicht

}
</code></pre>
<p>Nun kommt als Fehler:<br />
&quot;error C2664: 'EnumWindows': Konvertierung des Parameters 1 von 'BOOL (__stdcall Trainer::* )(HWND,LPARAM)' in 'WNDENUMPROC' nicht möglich&quot;</p>
<p>(in c bekomme ich das hin, aber in c++ leider nicht)<br />
Wie macht man das richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589524</guid><dc:creator><![CDATA[MisterX]]></dc:creator><pubDate>Sun, 28 Sep 2008 10:23:44 GMT</pubDate></item><item><title><![CDATA[Reply to EnumWindows Funktion aus Klasse übergeben on Sun, 28 Sep 2008 10:45:01 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class EineKlasse 
{
   static BOOL CALLBACK EnumWindowsProc (HWND hwnd, LPARAM l_param); 

   // ...
}
</code></pre>
<p>Die Funktion muss entweder Global sein oder statisch in einer Klasse.<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589541</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sun, 28 Sep 2008 10:45:01 GMT</pubDate></item><item><title><![CDATA[Reply to EnumWindows Funktion aus Klasse übergeben on Sun, 28 Sep 2008 10:45:10 GMT]]></title><description><![CDATA[<p>Ist zwar nicht ganz dieselbe Funktion, aber grundsätzlich das gleiche Problem. Dürfte daher die richtige Lektüre für dich sein:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39356.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39356.html</a></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589542</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 28 Sep 2008 10:45:10 GMT</pubDate></item></channel></rss>