<?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[Funktionsübergabe an Templates innerhalb einer Klasse]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche gerade Templates innerhalb von Klassen zu benutzen und erhalte beim Kompilieren einen Fehler aus dem ich nicht schlau werde.</p>
<p>Hab meinen Code auf die problematischen Stellen reduziert.</p>
<pre><code>class Parameter {
public:
	vector&lt;string&gt; Paramlist= { &quot;Param_1&quot;, &quot;Param_2&quot; };
	string getParameter(string parameter) {
		return parameter;
	}
	void start() {
		std::cout &lt;&lt; for_each_param(Paramlist.begin(), Paramlist.end(), getParameter) &lt;&lt; endl;
	}
private:
	template&lt;class InputIterator, class Function&gt;
	string for_each_param(InputIterator first, InputIterator last, Function f)
	{
		string tmp;
		for (; first != last; ++first) {
			tmp = tmp + &quot; &quot; + f(*first);
		}
		return tmp;
	}
};
</code></pre>
<pre><code>int main()
{
	Parameter param;
	param.start();
	return 0;
}
</code></pre>
<p>Hier die Fehlermeldung:</p>
<pre><code>Fehler	C3867	&quot;Parameter::getParameter&quot;: Keine Standardsyntax; &quot;&amp;&quot; zum Erstellen eines Verweises auf das Member verwenden.
</code></pre>
<p>Muss ich dafür das Template anpassen oder muss die Funktionsübergabe anders aussehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/339131/funktionsübergabe-an-templates-innerhalb-einer-klasse</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 19:50:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/339131.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 04 Aug 2016 14:23:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionsübergabe an Templates innerhalb einer Klasse on Thu, 04 Aug 2016 14:23:29 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche gerade Templates innerhalb von Klassen zu benutzen und erhalte beim Kompilieren einen Fehler aus dem ich nicht schlau werde.</p>
<p>Hab meinen Code auf die problematischen Stellen reduziert.</p>
<pre><code>class Parameter {
public:
	vector&lt;string&gt; Paramlist= { &quot;Param_1&quot;, &quot;Param_2&quot; };
	string getParameter(string parameter) {
		return parameter;
	}
	void start() {
		std::cout &lt;&lt; for_each_param(Paramlist.begin(), Paramlist.end(), getParameter) &lt;&lt; endl;
	}
private:
	template&lt;class InputIterator, class Function&gt;
	string for_each_param(InputIterator first, InputIterator last, Function f)
	{
		string tmp;
		for (; first != last; ++first) {
			tmp = tmp + &quot; &quot; + f(*first);
		}
		return tmp;
	}
};
</code></pre>
<pre><code>int main()
{
	Parameter param;
	param.start();
	return 0;
}
</code></pre>
<p>Hier die Fehlermeldung:</p>
<pre><code>Fehler	C3867	&quot;Parameter::getParameter&quot;: Keine Standardsyntax; &quot;&amp;&quot; zum Erstellen eines Verweises auf das Member verwenden.
</code></pre>
<p>Muss ich dafür das Template anpassen oder muss die Funktionsübergabe anders aussehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2504625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2504625</guid><dc:creator><![CDATA[eda2016]]></dc:creator><pubDate>Thu, 04 Aug 2016 14:23:29 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsübergabe an Templates innerhalb einer Klasse on Thu, 04 Aug 2016 14:46:32 GMT]]></title><description><![CDATA[<p>Die Funktionsübergabe sollte anders aussehen, es ist schließlich eine Memberfunktion, die an ein Objekt gebindet werden muss.</p>
<pre><code class="language-cpp">std::bind(&amp;Parameter::getParameter, this, std::placeholders::_1 /* erwartet ein Argument */);
</code></pre>
<p>Das müsste klappen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2504627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2504627</guid><dc:creator><![CDATA[snipps]]></dc:creator><pubDate>Thu, 04 Aug 2016 14:46:32 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsübergabe an Templates innerhalb einer Klasse on Thu, 04 Aug 2016 14:52:33 GMT]]></title><description><![CDATA[<p>Hat geklappt vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2504628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2504628</guid><dc:creator><![CDATA[eda2016]]></dc:creator><pubDate>Thu, 04 Aug 2016 14:52:33 GMT</pubDate></item></channel></rss>