<?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[Problem mit std::function]]></title><description><![CDATA[<p>Hallo,<br />
ich habe zwei Klassen, die etwa so aussehen:</p>
<pre><code class="language-cpp">class A {
public:
    A(std::function&lt;void()&gt; func) : function(func) {};
private:
    std::function&lt;void()&gt; function;
}

class B {
public:
    void MyFunc(){};
    B () : a(&amp;MyFunc) {};
private:
    A a;
}
</code></pre>
<p>Nun bekomm ich immer den Fehler</p>
<pre><code>error C2064: Ausdruck ergibt keine Funktion, die 0 Argumente übernimmt
</code></pre>
<p>Irgendwo habe ich mal gelesen, da Funktion in Klassen automatisch immer noch den this Zeiger als Argument haben, und deshalb sowas nicht funktioniert.<br />
Auch habe ich gelesen, dass man sowas mit <code>std::bind()</code> beheben kann, jedoch habe ich jetyt keine Ahnung wie das bei einer Argumentlosen Funktion gehen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/284397/problem-mit-std-function</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 05:24:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/284397.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 31 Mar 2011 14:55:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit std::function on Thu, 31 Mar 2011 14:55:38 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe zwei Klassen, die etwa so aussehen:</p>
<pre><code class="language-cpp">class A {
public:
    A(std::function&lt;void()&gt; func) : function(func) {};
private:
    std::function&lt;void()&gt; function;
}

class B {
public:
    void MyFunc(){};
    B () : a(&amp;MyFunc) {};
private:
    A a;
}
</code></pre>
<p>Nun bekomm ich immer den Fehler</p>
<pre><code>error C2064: Ausdruck ergibt keine Funktion, die 0 Argumente übernimmt
</code></pre>
<p>Irgendwo habe ich mal gelesen, da Funktion in Klassen automatisch immer noch den this Zeiger als Argument haben, und deshalb sowas nicht funktioniert.<br />
Auch habe ich gelesen, dass man sowas mit <code>std::bind()</code> beheben kann, jedoch habe ich jetyt keine Ahnung wie das bei einer Argumentlosen Funktion gehen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2042812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2042812</guid><dc:creator><![CDATA[Pikkolini]]></dc:creator><pubDate>Thu, 31 Mar 2011 14:55:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit std::function on Thu, 31 Mar 2011 15:03:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">B() : a(std::bind(&amp;B::MyFunc, this)) {}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2042816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2042816</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Thu, 31 Mar 2011 15:03:59 GMT</pubDate></item></channel></rss>