<?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[operator() eines structs überladen]]></title><description><![CDATA[<p>Ich weiß nicht was ich falsch mache.<br />
Ich habe ein Struct welche einen Klassenpointer und einen Methodenpointer dieser Klasse hat.<br />
Nun möchte ich den operator() überladen.</p>
<pre><code class="language-cpp">typedef void (CDBBackupPage::*F)(void) ;

// Hier haben wir unsere Struktur für den Thread
// Wir geben eine Klasseninstanz und einen Funktionspointer mit.
struct t_data {
	t_data(CDBBackupPage* p, F f) 
		: pPage(p), fPage(f) {}

	CDBBackupPage* pPage;
	F fPage;	

    void operator () {
        if(pPage &amp;&amp; fPage)
            (pPage-&gt;*fPage)();
    }

	void doit() {
		if(pPage &amp;&amp; fPage)
            (pPage-&gt;*fPage)();
	}
};
</code></pre>
<p>Dann bekomme ich erst mal die Meldung (alles die Zeile der Funktionsdefinition), dass void nicht passt.</p>
<pre><code>error C2544: ')' fuer Operator '()' erwartet
error C2144: Syntaxfehler : Fehlendes ';' vor Typ 'void'
error C2182: '()' : Ungueltige Verwendung des Typs 'void'
error C2059: Syntaxfehler : ')'
error C2059: Syntaxfehler : '{'
error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionsrumpf wird übersprungen
</code></pre>
<p>Was mache ich falsch. Den Typ auf bool umzuändern bringt auch nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118667/operator-eines-structs-überladen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 12:24:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118667.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 Aug 2005 06:49:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to operator() eines structs überladen on Tue, 23 Aug 2005 06:49:07 GMT]]></title><description><![CDATA[<p>Ich weiß nicht was ich falsch mache.<br />
Ich habe ein Struct welche einen Klassenpointer und einen Methodenpointer dieser Klasse hat.<br />
Nun möchte ich den operator() überladen.</p>
<pre><code class="language-cpp">typedef void (CDBBackupPage::*F)(void) ;

// Hier haben wir unsere Struktur für den Thread
// Wir geben eine Klasseninstanz und einen Funktionspointer mit.
struct t_data {
	t_data(CDBBackupPage* p, F f) 
		: pPage(p), fPage(f) {}

	CDBBackupPage* pPage;
	F fPage;	

    void operator () {
        if(pPage &amp;&amp; fPage)
            (pPage-&gt;*fPage)();
    }

	void doit() {
		if(pPage &amp;&amp; fPage)
            (pPage-&gt;*fPage)();
	}
};
</code></pre>
<p>Dann bekomme ich erst mal die Meldung (alles die Zeile der Funktionsdefinition), dass void nicht passt.</p>
<pre><code>error C2544: ')' fuer Operator '()' erwartet
error C2144: Syntaxfehler : Fehlendes ';' vor Typ 'void'
error C2182: '()' : Ungueltige Verwendung des Typs 'void'
error C2059: Syntaxfehler : ')'
error C2059: Syntaxfehler : '{'
error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionsrumpf wird übersprungen
</code></pre>
<p>Was mache ich falsch. Den Typ auf bool umzuändern bringt auch nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856607</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Tue, 23 Aug 2005 06:49:07 GMT</pubDate></item><item><title><![CDATA[Reply to operator() eines structs überladen on Tue, 23 Aug 2005 06:51:43 GMT]]></title><description><![CDATA[<p>void operator ()()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856609</guid><dc:creator><![CDATA[(o) (o)]]></dc:creator><pubDate>Tue, 23 Aug 2005 06:51:43 GMT</pubDate></item><item><title><![CDATA[Reply to operator() eines structs überladen on Tue, 23 Aug 2005 06:53:10 GMT]]></title><description><![CDATA[<p>Wie wäre es mit operator()()?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856611</guid><dc:creator><![CDATA[Ponto]]></dc:creator><pubDate>Tue, 23 Aug 2005 06:53:10 GMT</pubDate></item><item><title><![CDATA[Reply to operator() eines structs überladen on Tue, 23 Aug 2005 06:58:11 GMT]]></title><description><![CDATA[<p>OMG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856615</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Tue, 23 Aug 2005 06:58:11 GMT</pubDate></item><item><title><![CDATA[Reply to operator() eines structs überladen on Tue, 23 Aug 2005 07:11:49 GMT]]></title><description><![CDATA[<p>sieht aus wie titten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856618</guid><dc:creator><![CDATA[meinung]]></dc:creator><pubDate>Tue, 23 Aug 2005 07:11:49 GMT</pubDate></item><item><title><![CDATA[Reply to operator() eines structs überladen on Tue, 23 Aug 2005 07:23:21 GMT]]></title><description><![CDATA[<p>meinung schrieb:</p>
<blockquote>
<p>sieht aus wie titten</p>
</blockquote>
<p>Passt auch irgendwie<br />
void <em>operator</em> (.)(.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856620</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Tue, 23 Aug 2005 07:23:21 GMT</pubDate></item></channel></rss>