<?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 und Funktionspointer funzt nicht]]></title><description><![CDATA[<p>Hallo Zusammen</p>
<p>Bin ein Java Programmierer und mache meine ersten schritte in c++ und winapi.<br />
Ich habe ein Programm geschrieben das mir alle Windows ausliest und den namen der windows herausschreibt.<br />
Nur leider bekomme ich eine Fehlermeldung beim kompelieren.</p>
<p>Hier der sourcecode:</p>
<p>// HEADER</p>
<pre><code class="language-cpp">typedef void (*OUTPUT) (char*);

class test  {
public: 
	static BOOL CALLBACK EWProc(HWND, LPARAM);  
	test(OUTPUT*);  
};

class HxInit{
public:
	HxInit();
	void push(char*);
};

int main() {
  HxInit init;
  return 0;
}
</code></pre>
<p>//body</p>
<pre><code class="language-cpp">#include &quot;windows.h&quot;
#include &lt;iostream&gt;
#include &quot;HxInit.hpp&quot;

BOOL CALLBACK test::EWProc(HWND hwnd, LPARAM lParam) {
	char *text = 0; 
	GetWindowText(hwnd,text,GetWindowTextLength(hwnd));
	OUTPUT *out =  (OUTPUT*) lParam;
	(*out)(text);
	return true;
}

test::test(OUTPUT *out) {
  EnumWindows ( EWProc , (LPARAM) out);  
}

HxInit::HxInit()
{  
	test *t = new test(&amp;HxInit::push); // hier ist der fehler
	delete t;
}

void HxInit::push( char* text) {
	std::cout&lt;&lt; text;
}
</code></pre>
<p>Der fehler lautet:</p>
<p>error C2664: '__thiscall test::test(void (__cdecl ** )(char <em>))' : cannot convert parameter 1 from 'void (__thiscall HxInit::</em>)(char *)' to 'void (__cdecl ** )(char *)'</p>
<p>Kann mir einer sagen warum die Funktionsübergabe nicht funktionier!!!</p>
<p>THX Sascha</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/115120/enumwindows-und-funktionspointer-funzt-nicht</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 16:32:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/115120.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Jul 2005 16:05:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to EnumWindows und Funktionspointer funzt nicht on Mon, 11 Jul 2005 16:05:09 GMT]]></title><description><![CDATA[<p>Hallo Zusammen</p>
<p>Bin ein Java Programmierer und mache meine ersten schritte in c++ und winapi.<br />
Ich habe ein Programm geschrieben das mir alle Windows ausliest und den namen der windows herausschreibt.<br />
Nur leider bekomme ich eine Fehlermeldung beim kompelieren.</p>
<p>Hier der sourcecode:</p>
<p>// HEADER</p>
<pre><code class="language-cpp">typedef void (*OUTPUT) (char*);

class test  {
public: 
	static BOOL CALLBACK EWProc(HWND, LPARAM);  
	test(OUTPUT*);  
};

class HxInit{
public:
	HxInit();
	void push(char*);
};

int main() {
  HxInit init;
  return 0;
}
</code></pre>
<p>//body</p>
<pre><code class="language-cpp">#include &quot;windows.h&quot;
#include &lt;iostream&gt;
#include &quot;HxInit.hpp&quot;

BOOL CALLBACK test::EWProc(HWND hwnd, LPARAM lParam) {
	char *text = 0; 
	GetWindowText(hwnd,text,GetWindowTextLength(hwnd));
	OUTPUT *out =  (OUTPUT*) lParam;
	(*out)(text);
	return true;
}

test::test(OUTPUT *out) {
  EnumWindows ( EWProc , (LPARAM) out);  
}

HxInit::HxInit()
{  
	test *t = new test(&amp;HxInit::push); // hier ist der fehler
	delete t;
}

void HxInit::push( char* text) {
	std::cout&lt;&lt; text;
}
</code></pre>
<p>Der fehler lautet:</p>
<p>error C2664: '__thiscall test::test(void (__cdecl ** )(char <em>))' : cannot convert parameter 1 from 'void (__thiscall HxInit::</em>)(char *)' to 'void (__cdecl ** )(char *)'</p>
<p>Kann mir einer sagen warum die Funktionsübergabe nicht funktionier!!!</p>
<p>THX Sascha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/828571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/828571</guid><dc:creator><![CDATA[saschaappel]]></dc:creator><pubDate>Mon, 11 Jul 2005 16:05:09 GMT</pubDate></item><item><title><![CDATA[Reply to EnumWindows und Funktionspointer funzt nicht on Mon, 11 Jul 2005 18:31:00 GMT]]></title><description><![CDATA[<p>Bin mir nicht sicher, aber evtl. müsstest du HxInit::push static machen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/828689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/828689</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 11 Jul 2005 18:31:00 GMT</pubDate></item><item><title><![CDATA[Reply to EnumWindows und Funktionspointer funzt nicht on Mon, 11 Jul 2005 20:50:37 GMT]]></title><description><![CDATA[<p>Yep, der ctor erwartet eine non-member Funktion, es wurde jedoch eine member Funktion übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/828819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/828819</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Mon, 11 Jul 2005 20:50:37 GMT</pubDate></item><item><title><![CDATA[Reply to EnumWindows und Funktionspointer funzt nicht on Mon, 11 Jul 2005 21:23:24 GMT]]></title><description><![CDATA[<p>Das ist aber schei... Ich wollte doch eine funktion aufrufen einer klasse die auf klassenvariablen zugreift <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> .</p>
<p>Hab noch ne frage was ist in c++ das gleiche wie in java das interface oder abstracte classen. Kann ich eine Abstracte klasse auch in c++ machen?</p>
<p>Ansonsten vielen dank dann muss ich das gamze wohl mit einer typedef struct lösen und dort eine class mit dieser function reinjassen..</p>
<p>Thx Sascha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/828838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/828838</guid><dc:creator><![CDATA[saschaappel]]></dc:creator><pubDate>Mon, 11 Jul 2005 21:23:24 GMT</pubDate></item><item><title><![CDATA[Reply to EnumWindows und Funktionspointer funzt nicht on Mon, 11 Jul 2005 21:33:45 GMT]]></title><description><![CDATA[<p>saschaappel schrieb:</p>
<blockquote>
<p>Kann ich eine Abstracte klasse auch in c++ machen?</p>
</blockquote>
<p><a href="http://tutorial.schornboeck.net/pure_virtual.htm" rel="nofollow">http://tutorial.schornboeck.net/pure_virtual.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/828846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/828846</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Mon, 11 Jul 2005 21:33:45 GMT</pubDate></item><item><title><![CDATA[Reply to EnumWindows und Funktionspointer funzt nicht on Tue, 12 Jul 2005 13:35:11 GMT]]></title><description><![CDATA[<p>saschaappel schrieb:</p>
<blockquote>
<p>Ansonsten vielen dank dann muss ich das gamze wohl mit einer typedef struct lösen und dort eine class mit dieser function reinjassen..</p>
</blockquote>
<p>Dafür gibt es bereits Lösungen, sowas wird weitläufig als Funktionsobjekt bezeichnet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/829308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/829308</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Tue, 12 Jul 2005 13:35:11 GMT</pubDate></item></channel></rss>